如果我有以下数组。将$myArray[]
的最后一个元素添加到list[]
的最佳方式是什么?请注意,list[]
有数字索引(即不关联)。谢谢!将元素添加到数组的最后一个元素
$myArray[] = array('name' => 'hello', 'list' => array());
如果我有以下数组。将$myArray[]
的最后一个元素添加到list[]
的最佳方式是什么?请注意,list[]
有数字索引(即不关联)。谢谢!将元素添加到数组的最后一个元素
$myArray[] = array('name' => 'hello', 'list' => array());
如果$ myArray的不关联
array_push($myArray[count($myArray)-1]['list'], 'new element');
或
$myArray[count($myArray)-1]['list'][] = 'new element';
用这种方法你改变了数组指针的位置。
是的,这可能会起作用。不知道是否有一个更清洁的解决方案,使用end() – user1032531
当你使用结束时,你得到的是最后一个值的副本,而不是引用。所以如果你改变它的值不影响数组。如果您使用'end',您必须先调用它,然后使用'key'获取最后一个元素的关键字,然后可以修改该数组。如果'$ myArray'不是关联的,你可能想这样做。 – clentfort
谢谢!!!!!!!!!! – user1032531
你可以这样说:
$last = array_pop($myArray); // remove last element of array
$last['list'][] = "new element"; // add element to array
$myArray[] = $last; // add changed last element again
看起来像这样也可以。谢谢 – user1032531
array_push
功能做到这一点。
array_push()
在[PHP手册](http://php.net/manual/en/function.array-push.php)之后,它和'$ array [] = $ var;'具有相同的效果他的代码已经。所以我不认为他在寻找这个。 – noob
$myArray[count($myArray)-1]['list'][]="something to go in 'list' array";//this shall append
//to the second dimension array with keyname 'list'
而不是$ myArray [0],它需要指向$ myArray的最后一个元素,而不是0. – user1032531
啊,我的不好。检查我的编辑。 – 2012-06-02 16:14:56
Gotcha。与clenfort相同的解决方案。谢谢! – user1032531
其实还有一个更华丽的方式(在我看来):
$ref = &$myArray[];
$ref['list'][] = 'new item'
正如你可以看到$ REF - 为参考$ myArray的最后一个元素,所以你可以改变过去的元素通过改变$ ref;
你的问题有点不清楚。你能发表一个你的结果应该是什么样子的例子吗? –