$v){}"; 2. In the loop body, determine whether the array element is an empty object, and if so, delete it with unset() , the syntax "if((array)$v==[]){unset($arr[$k]);}"."/> $v){}"; 2. In the loop body, determine whether the array element is an empty object, and if so, delete it with unset() , the syntax "if((array)$v==[]){unset($arr[$k]);}".">
Home >Backend Development >PHP Problem >How to remove empty objects from array in php
Removal method: 1. Loop through the array with the syntax "foreach($arr as $k=>$v){}"; 2. In the loop body, determine whether the array element is an empty object. If If so, use unset() to delete, the syntax is "if((array)$v==[]){unset($arr[$k]);}".
The operating environment of this tutorial: windows7 system, PHP version 8.1, DELL G3 computer
Arrays can store objects, then if the array The object in is empty:
<?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 is the default PHP object. stdClass has no properties, methods or parents. It does not support magic methods and does not implement any interfaces.
How to delete empty objects? Here's how php removes hollow objects from an array
Step 1: Use the foreach statement to loop through the array
foreach ($arr as $key => $value){ //循环体语句块; }
Traverse the given $arr Array, in each loop, the value of the current array will be assigned to $value, and the key name will be assigned to $key.
Step 2: In the loop body, determine whether the array element is an empty object. If so, use unset() to delete it
if((array)$value==[]){ unset($arr[$key]); }
Instructions: To If you want to determine whether an object without any attributes is empty, the most convenient way is to convert the object into an array; then determine whether the array is empty.
Complete code:
<?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); ?>
Recommended learning: "PHP Video Tutorial"
The above is the detailed content of How to remove empty objects from array in php. For more information, please follow other related articles on the PHP Chinese website!