PHP

利用PHP递归函数对多维数组进行搜索

小樊
91
2024-04-26 20:12:52
栏目: 编程语言

以下是一个使用PHP递归函数对多维数组进行搜索的示例代码:

function searchArray($array, $searchValue) {
    foreach ($array as $key => $value) {
        if (is_array($value)) {
            $result = searchArray($value, $searchValue);
            if ($result !== false) {
                return $result;
            }
        } else {
            if ($value === $searchValue) {
                return $key;
            }
        }
    }
    
    return false;
}

// 示例多维数组
$nestedArray = array(
    'a' => 'apple',
    'b' => array(
        'c' => 'banana',
        'd' => 'blueberry'
    ),
    'e' => array(
        'f' => 'grape',
        'g' => array(
            'h' => 'kiwi',
            'i' => 'lemon'
        )
    )
);

$searchValue = 'lemon';
$result = searchArray($nestedArray, $searchValue);

if ($result !== false) {
    echo "The search value '$searchValue' was found at key '$result'.";
} else {
    echo "The search value '$searchValue' was not found in the array.";
}

在上面的示例中,我们定义了一个名为searchArray的递归函数,该函数接受一个多维数组和要搜索的值作为参数。函数遍历数组中的每个元素,如果元素是一个数组,则递归调用searchArray函数来搜索该子数组。如果找到搜索值,则返回该值的键,否则返回false

在示例中,我们定义了一个名为$nestedArray的多维数组,并在其中搜索值'lemon'。最终输出结果为“The search value ‘lemon’ was found at key ‘i’.”。

0
看了该问题的人还看了