array_filter() 函數(shù)用回調(diào)函數(shù)過濾數(shù)組中的值。
成都創(chuàng)新互聯(lián)專注于紫金網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供紫金營銷型網(wǎng)站建設(shè),紫金網(wǎng)站制作、紫金網(wǎng)頁設(shè)計、紫金網(wǎng)站官網(wǎng)定制、小程序開發(fā)服務(wù),打造紫金網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供紫金網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。
該函數(shù)把輸入數(shù)組中的每個鍵值傳給回調(diào)函數(shù)。如果回調(diào)函數(shù)返回 true,則把輸入數(shù)組中的當(dāng)前鍵值返回結(jié)果數(shù)組中。數(shù)組鍵名保持不變。
例如:
?php
function test_odd($var)
{
return($var 1);
}
$a1=array("a","b",2,3,4);
print_r(array_filter($a1,"test_odd"));
?
運(yùn)行結(jié)果:Array ( [3] = 3 )
擴(kuò)展資料:
循環(huán)遍歷數(shù)組,把有值的元素放進(jìn)一個新數(shù)組中。
$arr = array();
foreach ($urlArr as $key = $val) {
if (empty($val)) {continue;}
$arr[] = $val;
}
$arr是去除空元素的新數(shù)組。
php?去空格需要用字符串替換函數(shù)和正則替換函數(shù)
去掉字符串中的空格 str_replace(' ','',$cat_name)
$str?=?”?This?line?contains\tliberal?\r\n?use
of??whitespace.\n\n”;
$str?=?trim($str);//?首先去掉頭尾空格
$str?=?preg_replace(’/\s(?=\s)/’,?‘’,?$str);//?接著去掉兩個空格以上的
$str?=?preg_replace(’/[\n\r\t]/’,?‘?‘,?$str);//
最后將非空格替換為一個空格
使用上面的例子可以去掉所有多余的空格。
首先使用TRim()去頭尾空格,
接著用preg_replace()去掉重復(fù)的空格。
當(dāng)中的(?=)表示只匹配后面的空格跟隨前面的空格的空格。
PHP 刪除空數(shù)組常用解決方案:
利用foreach循環(huán)判斷來刪除為空的數(shù)組,注意:如果數(shù)組元素非常多的時候,使用循環(huán)處理效率會降低。示例如下:
?php
//定義數(shù)組
$arr=array(
"id"=1,
"name"="zhidao",
"url"=""
);
//循環(huán)判斷
foreach($arr?as?$k=$v){
if(!$v){//判斷是否為空(false)
unset($arr[$k]);//刪除
}
}
print_r($arr);//Array?(?[id]?=?1?[name]?=?zhidao?)
?
使用array_filter函數(shù)刪除。array_filter是利用回調(diào)函數(shù)來對數(shù)組進(jìn)行過濾,如果沒有回調(diào)函數(shù),那么默認(rèn)就是刪除數(shù)組中值為false的元素。示例如下:
?php
//定義數(shù)組
$arr=array(
"id"=1,
"name"="zhidao",
"url"=""
);
//array_filter函數(shù)對數(shù)組進(jìn)行過濾
$newArr=array_filter($arr);
print_r($newArr);//Array?(?[id]?=?1?[name]?=?zhidao?)
?