给定一个数组:
$a = array(
'abc',
123,
'k1'=>'v1',
'k2'=>'v2',
78,
'tt',
'k3'=>'v3'
);
它的内部指针指向其中一个元素,如何在当前元素之后插入一个元素? 以及如何在键已知元素之后插入一个元素,例如“k1”?
表现关怀~
最佳答案
您可以使用 array_keys
和 array_values
拆分您的数组,然后将它们拼接,然后再次组合它们。
$insertKey = 'k1';
$keys = array_keys($arr);
$vals = array_values($arr);
$insertAfter = array_search($insertKey, $keys) + 1;
$keys2 = array_splice($keys, $insertAfter);
$vals2 = array_splice($vals, $insertAfter);
$keys[] = "myNewKey";
$vals[] = "myNewValue";
$newArray = array_merge(array_combine($keys, $vals), array_combine($keys2, $vals2));
关于php - 如何在 PHP 数组中的另一个已知(通过键或指针)元素之后有效地插入元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1286853/