在php中inarray能否查找多维数组

avatar
作者
筋斗云
阅读量:0

是的,在PHP中,in_array() 函数可以用于在多维数组中查找值。但是,您需要使用递归方法来遍历多维数组。以下是一个示例:

function in_array_recursive($value, $array) {     $found = false;      foreach ($array as $key => $element) {         if (is_array($element)) {             $found = in_array_recursive($value, $element);             if ($found) {                 break;             }         } else {             if ($element == $value) {                 $found = true;                 break;             }         }     }      return $found; }  // 示例多维数组 $array = [     'first_level' => [         'sub_level_1' => 'value_1',         'sub_level_2' => 'value_2',     ],     'second_level' => [         'sub_level_3' => 'value_3',         'sub_level_4' => 'value_4',     ], ];  // 查找值 $value_to_find = 'value_3'; $result = in_array_recursive($value_to_find, $array);  if ($result) {     echo "Value found in the array."; } else {     echo "Value not found in the array."; } 

在这个示例中,我们定义了一个名为 in_array_recursive 的函数,它接受一个值和一个数组作为参数。函数遍历数组的每个元素,如果元素是数组,它会递归地调用自身。如果找到所需的值,函数返回 true,否则返回 false

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!