为了账号安全,请及时绑定邮箱和手机立即绑定

PHP:搜索数组中的值并显示键

PHP:搜索数组中的值并显示键

PHP
桃花长相依 2023-10-15 15:59:42
我有结构如下的数组。Array(    [example1] => Array        (            [0] => 'banana'        )    [example2] => Array        (            [0] => 'orange'            [1] => 'apple'            [2] => 'plum'            [3] => 'watermelon'            [4] => 'pumpkin'        )    [example3] => Array        (            [0] => 'cherry'            [1] => 'strawberry'        ))我正在尝试显示示例值的键名称。例如。寻找值:' apple ' - 结果:' example2 '
查看完整描述

3 回答

?
四季花海

TA贡献1811条经验 获得超5个赞

只需循环数组并检查元素是否存在:



function search(string $search, array $source) {

    foreach ($source as $key => $sub) {

        if (in_array($search, $sub)) {

            return $key;

        }

    }

}


search('apple', $source);


查看完整回答
反对 回复 2023-10-15
?
慕哥6287543

TA贡献1831条经验 获得超10个赞

只需迭代所有子数组并返回父键即可。


$array = [

    'example1' => ['banana'],

    'example2' => ['orange', 'apple', 'plum', 'watermelon', 'pumpkin'],

    'example3' => ['cherry', 'strawberry']

];


$needle = 'apple';

$result = '';

foreach($array as $parentKey => $child) {

    if(in_array($needle, $child)) {

        $result = $parentKey;

        break;

    }

}


echo $result;

例子2


查看完整回答
反对 回复 2023-10-15
?
蓝山帝景

TA贡献1843条经验 获得超7个赞

这也是一个很好的例子,谢谢。我在此基础上构建了我的功能


function CheckArray($my_array,$search) {

$result = array_keys(array_filter($my_array, function ($arr) use ($search) {

return in_array($search, $arr);

}));

if(isset($result[0])){

    return $result[0];

}else{

    return "not find";

}

}


查看完整回答
反对 回复 2023-10-15
  • 3 回答
  • 0 关注
  • 73 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信