取消设置复杂数组中的项目


Unset item in complex array

我有一个数组,$args

Array ( 
        [0] => stdClass Object ([term_id] => 3 [name] => Default [slug] => default [term_group] => 0 [term_taxonomy_id] => 3 [taxonomy] => media_category [description] => The default media category. [parent] => 0 [count] => 0 [term_order] => 0 [category_count] => 0 [category_description] => The default media category. [cat_name] => Default [category_nicename] => default [category_parent] => 0 ) 
        [1] => stdClass Object ( [term_id] => 7 [name] => Animals [slug] => animals [term_group] => 0 [term_taxonomy_id] => 7 [taxonomy] => media_category [description] => [parent] => 0 [count] => 1 [term_order] => 0 [category_count] => 1 [category_description] => [cat_name] => Animals [category_nicename] => animals [category_parent] => 0 ) 
        [2] => stdClass Object ( [term_id] => 8 [name] => Characters [slug] => characters [term_group] => 0 [term_taxonomy_id] => 8 [taxonomy] => media_category [description] => [parent] => 0 [count] => 1 [term_order] => 0 [category_count] => 1 [category_description] => [cat_name] => Characters [category_nicename] => characters [category_parent] => 0 ) 
)

当我尝试删除数组的第一项时...

unset($args[0]);

。什么也没发生。知道为什么吗?

也许您正在寻找的是:

$first_arg = array_shift($args);  

或者,如果要删除数组中的任意元素:

array_splice($args,0,1)

unset()函数只会删除一个变量,它不会缩小你的数组。

http://php.net/manual/de/function.unset.php

你可以使用这样的东西:

foreach($args as $key=>$value){
$args[$key]=get_object_vars($value);
}
unset($args[0]);