php中的array_filter()函數(shù)的使用
函數(shù)概述
array_filter()函數(shù)是一個(gè)用于過濾數(shù)組中元素的函數(shù),它會(huì)返回一個(gè)新的數(shù)組,新數(shù)組中的元素是由原數(shù)組中的元素所依照某個(gè)條件篩選而來。根據(jù)官方文檔的定義,它的語法如下:
array array_filter ( array $array [, callable $callback [, int $flag = 0 ]] )
其中,$array表示待過濾的原數(shù)組,$callback是可選的回調(diào)函數(shù)參數(shù),$flag是可選的掩碼參數(shù)。
php中的array_filter()函數(shù)用于篩選數(shù)組中的元素,并返回一個(gè)新的數(shù)組,新數(shù)組的元素是所有返回值為true的原數(shù)組元素。array_filter()函數(shù)的使用語法如下:
array_filter ( array $array [, callable $callback [, int $flag = 0 ]] ) : array
其中,參數(shù)說明如下:
$array:必選參數(shù),表示要篩選的原數(shù)組。$callback:可選參數(shù),表示篩選的回調(diào)函數(shù),可以是內(nèi)置函數(shù)或自定義函數(shù),用于對數(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
)
其中,通過回調(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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解如何實(shí)現(xiàn)Laravel的服務(wù)容器的方法示例
這篇文章主要介紹了詳解如何實(shí)現(xiàn)Laravel的服務(wù)容器的方法示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04
php實(shí)現(xiàn)ffmpeg處理視頻的實(shí)踐
本文主要介紹了php實(shí)現(xiàn)ffmpeg處理視頻的實(shí)踐,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-12-12
Laravel實(shí)現(xiàn)ApiToken認(rèn)證請求
今天小編就為大家分享一篇Laravel實(shí)現(xiàn)ApiToken認(rèn)證請求,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-10-10
PHP檢測移動(dòng)設(shè)備類mobile detection使用實(shí)例
這篇文章主要介紹了PHP檢測移動(dòng)設(shè)備類mobile detection使用實(shí)例,mobile detection可以檢測到絕大部分手機(jī)、平板電腦的操作系統(tǒng)、瀏覽器等數(shù)據(jù),需要的朋友可以參考下2014-04-04
php實(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插件來設(shè)置定時(shí)任務(wù)
這篇文章主要介紹了在WordPress中使用wp-cron插件來設(shè)置定時(shí)任務(wù)的方法,文中給出了幾個(gè)常用的相關(guān)PHP函數(shù)和參數(shù),需要的朋友可以參考下2015-12-12

