是的,在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
。