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

avatar
作者
猴君
阅读量: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’.”。