3

我想在 PHP 中非关联数组的特定索引之后插入新元素。这是我到目前为止所做的:

public function insertAfter($newElement, $key)
{
    // Get index of given element
    $index = array_search($key, array_keys($array));

    $temp  = array_slice($array, $index + 1, null, TRUE);
    $temp2 = array_slice($array, sizeof($array) - $index, null, TRUE);

    // Insert new element into the array
    $array = array_merge($temp, array($newElement), $temp2);
}

但是,它并没有真正做到我想要的......它对数组做了一些奇怪的事情。你能帮忙吗?

4

2 回答 2

4
$array = array_slice($array, 0, $index) 
       + array($newElement)
       + array_slice($array, $index, count($array) - 1);
于 2013-02-26T21:53:34.130 回答
1

array_slice 的第二个参数应该是数组中子数组开始的偏移量。如果您试图将数组一分为二,您希望第一个子数组从 offset 开始0并为 size $index,第二个子数组从 offset 开始$index+1并为 size sizeof(array) - index。不过,重申一下评论array_splice更适合您的应用程序。

于 2013-02-26T21:49:48.617 回答