PHP的in_array在处理多维数组时怎样操作

avatar
作者
猴君
阅读量:0

在PHP中,in_array() 函数用于在一个一维数组中搜索一个值,它不能直接处理多维数组。如果要搜索多维数组中的值,你可以使用 array_search() 函数或者递归地遍历多维数组。

以下是使用 array_search() 函数搜索多维数组的示例:

$multi_array = [     'level1' => [         'level2a' => [             'value' => 'target',         ],         'level2b' => [             'value' => 'other',         ],     ],     'level1b' => [         'level2c' => [             'value' => 'target',         ],     ], ];  $search_value = 'target';  // 使用 array_search() 搜索多维数组 $result = array_search($search_value, $multi_array);  if ($result !== false) {     echo "找到了值:{$result}"; } else {     echo "没有找到值"; } 

使用递归遍历多维数组的示例:

function search_in_multi_array($array, $search_value) {     foreach ($array as $key => $value) {         if (is_array($value)) {             $result = search_in_multi_array($value, $search_value);             if ($result !== false) {                 return $result;             }         } else {             if ($value === $search_value) {                 return $key . '[' . $value . ']';             }         }     }     return false; }  $search_value = 'target'; $result = search_in_multi_array($multi_array, $search_value);  if ($result !== false) {     echo "找到了值:{$result}"; } else {     echo "没有找到值"; } 

这两个示例都会输出:找到了值:level1[level2a][value]

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!