在PHP中,數(shù)組是一種常用的數(shù)據(jù)類型,可以存儲(chǔ)多個(gè)元素。同時(shí),PHP還提供了一些內(nèi)置函數(shù),用于處理數(shù)組。array_filter就是其中一個(gè)常用的函數(shù)。array_filter函數(shù)可以過濾數(shù)組中的元素,并返回一個(gè)新的數(shù)組。
array_filter函數(shù)的使用非常靈活,可以通過傳遞不同的參數(shù),實(shí)現(xiàn)不同的過濾方式。下面通過一些例子來介紹array_filter函數(shù)的常用用法。
1. 過濾掉數(shù)組中的空元素
$arr = array('apple', '', 'orange', 'pear'); $arr = array_filter($arr); print_r($arr);
執(zhí)行上述代碼,會(huì)輸出以下結(jié)果:
Array ( [0] =>apple [2] =>orange [3] =>pear )
可以看到,空元素已經(jīng)被過濾掉了。
2. 過濾掉數(shù)組中小于5的數(shù)字
$arr = array(1, 6, 7, 2, 8, 3); $arr = array_filter($arr, function($value) { return $value >= 5; }); print_r($arr);
執(zhí)行上述代碼,會(huì)輸出以下結(jié)果:
Array ( [1] =>6 [2] =>7 [4] =>8 )
可以看到,小于5的數(shù)字已經(jīng)被過濾掉了。
3. 過濾關(guān)聯(lián)數(shù)組中值為假的元素
$arr = array( 'name' =>'Tom', 'age' =>20, 'gender' =>'', 'address' =>null ); $arr = array_filter($arr); print_r($arr);
執(zhí)行上述代碼,會(huì)輸出以下結(jié)果:
Array ( [name] =>Tom [age] =>20 )
可以看到,值為假(包括空字符串、0、false和null等)的元素已經(jīng)被過濾掉了。
4. 自定義過濾函數(shù)
function filter($value) { return $value >3 && $value< 7; } $arr = array(1, 5, 7, 2, 8); $arr = array_filter($arr, 'filter'); print_r($arr);
執(zhí)行上述代碼,會(huì)輸出以下結(jié)果:
Array ( [1] =>5 [3] =>2 )
可以看到,只有滿足自定義過濾函數(shù)filter的元素才會(huì)被保留。
總結(jié):
array_filter函數(shù)是PHP中常用的一個(gè)數(shù)組處理函數(shù),可以用來過濾數(shù)組中的元素,返回一個(gè)新的數(shù)組。在使用時(shí),可以靈活傳遞不同的參數(shù),實(shí)現(xiàn)不同的過濾方式。在實(shí)際開發(fā)中,array_filter函數(shù)可以幫助我們快速、方便地處理數(shù)組中的數(shù)據(jù)。