溫馨提示×

利用PHP遞歸函數(shù)對多維數(shù)組進行搜索

PHP
小樊
85
2024-04-26 20:12:52
欄目: 編程語言

以下是一個使用PHP遞歸函數(shù)對多維數(shù)組進行搜索的示例代碼:

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;
}

// 示例多維數(shù)組
$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的遞歸函數(shù),該函數(shù)接受一個多維數(shù)組和要搜索的值作為參數(shù)。函數(shù)遍歷數(shù)組中的每個元素,如果元素是一個數(shù)組,則遞歸調(diào)用searchArray函數(shù)來搜索該子數(shù)組。如果找到搜索值,則返回該值的鍵,否則返回false。

在示例中,我們定義了一個名為$nestedArray的多維數(shù)組,并在其中搜索值'lemon'。最終輸出結(jié)果為“The search value ‘lemon’ was found at key ‘i’.”。

0