移除方法:1、迴圈遍歷數組,語法「foreach($arr as $k=>$v){}」;2、在循環體中,判斷數組元素是否為空對象,如果是則用unset()刪除,語法「if((array)$v==[]){unset($arr[$k]);}」。
本教學操作環境:windows7系統、PHP8.1版、DELL G3電腦
陣列是可以儲存物件的,那麼如果陣列中的物件為空:
<?php header('content-type:text/html;charset=utf-8'); $bar = new stdClass(); //创建“空”对象 $arr=array(1,$bar,3,4,6,8);//这里将实例化的对象存入数组 var_dump($arr);//这里打印数组结构 你会发现下标1的位置存储了一个object对象 ?>
stdClass是預設的PHP物件。 stdClass沒有屬性,方法或父級。它不支援魔術方法,並且不實作任何介面。
要怎麼該空物件刪除?以下介紹一下php去除數組中空物件的方法
步驟1:使用foreach語句循環遍歷數組
foreach ($arr as $key => $value){ //循环体语句块; }
遍歷給定的$arr數組,在每次循環中會將目前數組的值賦給$value,鍵名賦給$key。
步驟2:在循環體中,判斷數組元素是否為空對象,如果是,則用unset()刪除
if((array)$value==[]){ unset($arr[$key]); }
說明:要想判斷沒有任何屬性的物件是否為空,最方便的方式是把物件轉成陣列;接著判斷陣列是否為空即可。
完整程式碼:
<?php header('content-type:text/html;charset=utf-8'); $bar = new stdClass(); $arr=array(1,$bar,3,4,6,8);//这里将实例化的对象存入数组 var_dump($arr);//这里打印数组结构 你会发现下标1的位置存储了一个object对象 foreach($arr as $k=>$v){ if((array)$v==[]){ unset($arr[$k]); } } var_dump($arr); ?>
推薦學習:《PHP影片教學》
以上是php怎麼去除數組中的空對象的詳細內容。更多資訊請關注PHP中文網其他相關文章!