php preg_match如何处理多维数组

avatar
作者
筋斗云
阅读量:0

在PHP中,使用preg_match处理多维数组需要遍历数组的每个元素并逐一检查。以下是一个示例函数,用于在多维数组中搜索与正则表达式匹配的值:

function preg_match_in_array($pattern, $array) {     $result = array();      // 遍历数组的每个元素     foreach ($array as $key => $value) {         // 如果当前元素是数组,则递归调用该函数         if (is_array($value)) {             $result = array_merge($result, preg_match_in_array($pattern, $value));         } else {             // 使用preg_match检查当前元素是否与正则表达式匹配             if (preg_match($pattern, $value)) {                 $result[] = array('key' => $key, 'value' => $value);             }         }     }      return $result; } 

使用此函数,您可以在多维数组中搜索与正则表达式匹配的值。例如:

$array = array(     'name' => 'John Doe',     'email' => 'john.doe@example.com',     'address' => array(         'street' => '123 Main St',         'city' => 'New York',         'zip' => '10001'     ) );  $pattern = '/\d{5}/'; // 匹配5位数字的邮政编码  $matches = preg_match_in_array($pattern, $array);  print_r($matches); 

输出结果:

Array (     [0] => Array         (             [key] => zip             [value] => 10001         ) ) 

这个示例中,preg_match_in_array函数递归地遍历多维数组,并使用preg_match检查每个元素是否与给定的正则表达式匹配。如果匹配成功,将键值对添加到结果数组中。

广告一刻

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