是的,在PHP中,in_array()
函数可以用于在多维数组中查找值。但是,您需要使用递归方法来遍历多维数组。以下是一个示例:
function in_array_recursive($value, $array) {
$found = false;
foreach ($array as $key => $element) {
if (is_array($element)) {
$found = in_array_recursive($value, $element);
if ($found) {
break;
}
} else {
if ($element == $value) {
$found = true;
break;
}
}
}
return $found;
}
// 示例多维数组
$array = [
'first_level' => [
'sub_level_1' => 'value_1',
'sub_level_2' => 'value_2',
],
'second_level' => [
'sub_level_3' => 'value_3',
'sub_level_4' => 'value_4',
],
];
// 查找值
$value_to_find = 'value_3';
$result = in_array_recursive($value_to_find, $array);
if ($result) {
echo "Value found in the array.";
} else {
echo "Value not found in the array.";
}
在这个示例中,我们定义了一个名为 in_array_recursive
的函数,它接受一个值和一个数组作为参数。函数遍历数组的每个元素,如果元素是数组,它会递归地调用自身。如果找到所需的值,函数返回 true
,否则返回 false
。