Heim > Backend-Entwicklung > PHP-Tutorial > 基础题,通过递归正则匹配数字元素

基础题,通过递归正则匹配数字元素

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Freigeben: 2016-06-23 14:05:39
Original
840 Leute haben es durchsucht

digui函数程序功能为通过递归正则匹配数字

如果是数字就保存到新数组中保存,最后返回所有包含数字的元素的数组


$array=array(
"22",
"1234",
array("a",
   array("aab","00000","aaa","222000","3333000"),
   "aa","999","aaaa"),
"d",
"567",
"33",
"dsf");
$fl_array=array();
function digui($arr)

    global $fl_array;
foreach($arr as $key=>$value)
{
    if (is_array($value))
    {
   digui($value);
    }
}

$fl_array = preg_grep("/\d+/", $arr);   

return $fl_array;

}

print_r(digui($array));
?>


回复讨论(解决方案)

$array=array(  "22",  "1234",  array(    "a",    array("aab","00000","aaa","222000","3333000"),    "aa","999","aaaa"),  "d",  "567",  "33",  "dsf");function digui($arr) {   $fl_array = array();  foreach($arr as $key=>$value) {    if(is_array($value)) {      $fl_array = array_merge($fl_array, digui($value));    }  }  $fl_array = array_merge($fl_array, @preg_grep("/\d+/", $arr));     return $fl_array;}print_r(digui($array));
Nach dem Login kopieren
Array
(
[0] => 00000
[1] => 222000
[2] => 3333000
[3] => 999
[4] => 22
[5] => 1234
[6] => 567
[7] => 33
)

$result=array();global $result;function getNum($arr){ 	global $result;	foreach ($arr as $value) {		if(is_array($value)){			getNum($value);		}		if(is_numeric($value)){			array_push($result, $value);		}	}	return $result;}print_r(getNum($array));
Nach dem Login kopieren
这样好像也可以

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage