阅读量:0
以下是一个使用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’.”。