PHP

在php中inarray能否查找多维数组

小樊
81
2024-10-09 21:27:22
栏目: 编程语言

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

0
看了该问题的人还看了