阅读量: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]