php中的array_filter()函數(shù)的使用
函數(shù)概述
array_filter()函數(shù)是一個(gè)用于過(guò)濾數(shù)組中元素的函數(shù),它會(huì)返回一個(gè)新的數(shù)組,新數(shù)組中的元素是由原數(shù)組中的元素所依照某個(gè)條件篩選而來(lái)。根據(jù)官方文檔的定義,它的語(yǔ)法如下:
array array_filter ( array $array [, callable $callback [, int $flag = 0 ]] )
其中,$array表示待過(guò)濾的原數(shù)組,$callback是可選的回調(diào)函數(shù)參數(shù),$flag是可選的掩碼參數(shù)。
php中的array_filter()函數(shù)用于篩選數(shù)組中的元素,并返回一個(gè)新的數(shù)組,新數(shù)組的元素是所有返回值為true的原數(shù)組元素。array_filter()函數(shù)的使用語(yǔ)法如下:
array_filter ( array $array [, callable $callback [, int $flag = 0 ]] ) : array
其中,參數(shù)說(shuō)明如下:
$array
:必選參數(shù),表示要篩選的原數(shù)組。$callback
:可選參數(shù),表示篩選的回調(diào)函數(shù),可以是內(nèi)置函數(shù)或自定義函數(shù),用于對(duì)數(shù)組元素進(jìn)行篩選判斷。如果省略該參數(shù),則返回?cái)?shù)組中所有值為true的元素。$flag
:可選參數(shù),表示回調(diào)函數(shù)的行為標(biāo)志,常用的取值有ARRAY_FILTER_USE_KEY
(回調(diào)函數(shù)接受元素的鍵名作為唯一參數(shù))和ARRAY_FILTER_USE_BOTH
(回調(diào)函數(shù)同時(shí)接受元素的鍵名和鍵值作為參數(shù))。默認(rèn)值為0,即只有元素的值作為參數(shù)。
示例如下:
$array = [1, 2, 3, 4, 5]; $newArray = array_filter($array, function($value){ return $value % 2 == 0; }); print_r($newArray);
上述代碼將輸出:
Array
(
[1] => 2
[3] => 4
)
其中,通過(guò)回調(diào)函數(shù)判斷數(shù)組元素是否為偶數(shù),篩選出所有的偶數(shù)元素,返回新數(shù)組。
PHP函數(shù)array_filter
array_filter迭代數(shù)組中每個(gè)元素到一個(gè)自定義函數(shù),保留返回true的值到一個(gè)新的結(jié)果數(shù)組中。
/** * Iterates over each value in the <b>array</b> * passing them to the <b>callback</b> function. * If the <b>callback</b> function returns true, the * current value from <b>array</b> is returned into * the result array. Array keys are preserved. * @link https://php.net/manual/en/function.array-filter.php * @param array $input <p> * The array to iterate over * </p> * @param callback $callback [optional] <p> * The callback function to use * </p> * <p> * If no callback is supplied, all entries of * input equal to false (see * converting to * boolean) will be removed. * </p> * @param int $flag [optional] <p> * Flag determining what arguments are sent to <i>callback</i>: * </p><ul> * <li> * <b>ARRAY_FILTER_USE_KEY</b> - pass key as the only argument * to <i>callback</i> instead of the value</span> * </li> * <li> * <b>ARRAY_FILTER_USE_BOTH</b> - pass both value and key as * arguments to <i>callback</i> instead of the value</span> * </li> * </ul> * @return array the filtered array. * @meta */ function array_filter(array $input, $callback = null, $flag = 0) { }
示例一:默認(rèn)不定義回調(diào)函數(shù)
$array = [ 3, false, 0, '',null ]; $result = array_filter($array); var_dump($result); //結(jié)果 //array(1) { // [0] => // int(3) //}
示例二:定義函數(shù),返回等于0的元素
$array = [ 3, false, 0, '',null ]; $result = array_filter($array, function ($v){ return $v === 0; }); var_dump($result); //結(jié)果 //array(1) { // [2] => // int(0) //}
示例三:傳遞第三個(gè)參數(shù),返回鍵等于1的元素
$array = [ 3, false, 0, '',null ]; $result = array_filter($array, function ($k){ return $k === 1; }, ARRAY_FILTER_USE_KEY); var_dump($result); //結(jié)果 //array(1) { // [1] => // bool(false) //}
示例四:傳遞第三個(gè)參數(shù),返回鍵等于1且值等于false的元素
$array = [ 3, false, 0, '',null ]; $result = array_filter($array, function ($v, $k){ return $k === 1 && $v === false; }, ARRAY_FILTER_USE_BOTH); var_dump($result); //結(jié)果 //array(1) { // [1] => // bool(false) //}
到此這篇關(guān)于php中的array_filter()函數(shù)的文章就介紹到這了,更多相關(guān)php array_filter()函數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解如何實(shí)現(xiàn)Laravel的服務(wù)容器的方法示例
這篇文章主要介紹了詳解如何實(shí)現(xiàn)Laravel的服務(wù)容器的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04php實(shí)現(xiàn)ffmpeg處理視頻的實(shí)踐
本文主要介紹了php實(shí)現(xiàn)ffmpeg處理視頻的實(shí)踐,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-12-12Laravel實(shí)現(xiàn)ApiToken認(rèn)證請(qǐng)求
今天小編就為大家分享一篇Laravel實(shí)現(xiàn)ApiToken認(rèn)證請(qǐng)求,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-10-10PHP檢測(cè)移動(dòng)設(shè)備類(lèi)mobile detection使用實(shí)例
這篇文章主要介紹了PHP檢測(cè)移動(dòng)設(shè)備類(lèi)mobile detection使用實(shí)例,mobile detection可以檢測(cè)到絕大部分手機(jī)、平板電腦的操作系統(tǒng)、瀏覽器等數(shù)據(jù),需要的朋友可以參考下2014-04-04php實(shí)現(xiàn)window平臺(tái)的checkdnsrr函數(shù)
這篇文章主要介紹了php實(shí)現(xiàn)window平臺(tái)的checkdnsrr函數(shù),PHP的自帶checkdnsrr函數(shù)只在linux平臺(tái)有效,本文就模擬出了一個(gè)window下可以使用的checkdnsrr函數(shù),需要的朋友可以參考下2015-05-05在WordPress中使用wp-cron插件來(lái)設(shè)置定時(shí)任務(wù)
這篇文章主要介紹了在WordPress中使用wp-cron插件來(lái)設(shè)置定時(shí)任務(wù)的方法,文中給出了幾個(gè)常用的相關(guān)PHP函數(shù)和參數(shù),需要的朋友可以參考下2015-12-12