去除方法:1、循環(huán)遍歷數(shù)組,語(yǔ)法“foreach($arr as $k=>$v){}”;2、在循環(huán)體中,判斷數(shù)組元素是否為空對(duì)象,如果是則用unset()刪除,語(yǔ)法“if((array)$v==[]){unset($arr[$k]);}”。
本教程操作環(huán)境:windows7系統(tǒng)、PHP7.1版、DELL G3電腦
數(shù)組是可以存儲(chǔ)對(duì)象的,那么如果數(shù)組中的對(duì)象為空:
<?php header('content-type:text/html;charset=utf-8'); $bar = new stdClass(); //創(chuàng)建“空”對(duì)象 $arr=array(1,$bar,3,4,6,8);//這里將實(shí)例化的對(duì)象存入數(shù)組 var_dump($arr);//這里打印數(shù)組結(jié)構(gòu) 你會(huì)發(fā)現(xiàn)下標(biāo)1的位置存儲(chǔ)了一個(gè)object對(duì)象 ?>
stdClass是默認(rèn)的PHP對(duì)象。stdClass沒有屬性,方法或父級(jí)。它不支持魔術(shù)方法,并且不實(shí)現(xiàn)任何接口。
要怎么該空對(duì)象刪除?下面介紹一下php去除數(shù)組中空對(duì)象的方法
步驟1:使用foreach語(yǔ)句循環(huán)遍歷數(shù)組
foreach ($arr as $key => $value){ //循環(huán)體語(yǔ)句塊; }
遍歷給定的 $arr 數(shù)組,在每次循環(huán)中會(huì)將當(dāng)前數(shù)組的值賦給 $value,鍵名賦給 $key。
步驟2:在循環(huán)體中,判斷數(shù)組元素是否為空對(duì)象,如果是,則用unset()刪除
if((array)$value==[]){ unset($arr[$key]); }
說明:要想判斷沒有任何屬性的對(duì)象是否為空,最方便的方式是把對(duì)象轉(zhuǎn)成數(shù)組;接著判斷數(shù)組是否為空即可。
完整代碼:
<?php header('content-type:text/html;charset=utf-8'); $bar = new stdClass(); $arr=array(1,$bar,3,4,6,8);//這里將實(shí)例化的對(duì)象存入數(shù)組 var_dump($arr);//這里打印數(shù)組結(jié)構(gòu) 你會(huì)發(fā)現(xiàn)下標(biāo)1的位置存儲(chǔ)了一個(gè)object對(duì)象 foreach($arr as $k=>$v){ if((array)$v==[]){ unset($arr[$k]); } } var_dump($arr); ?>
推薦學(xué)習(xí):《PHP視頻教程》