取消复杂数组中的项目

时间:2012-05-21 13:42:15

标签: php arrays

我有一个数组,$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]);

......没有任何反应。知道为什么吗?

3 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

也许您正在寻找的是:

$first_arg = array_shift($args);  

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

array_splice($args,0,1)

答案 2 :(得分:0)

您可以使用以下内容:

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