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