以下是一個使用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’.”。