2013-10-16 205 views
-1

我有一個數組插入元素到數組

array(1) { 
[0]=> 
    array(4) { 
    [0]=> 
    string(1) "1" 
    [1]=> 
    string(2) "10" 
    [2]=> 
    string(3) "100" 
    [3]=> 
    string(3) "200" 
    } 
} 

我想插入兩個元素到要在第三和最後一個元素的數組。

輸出:

array(6) { 
[0]=> 
    array(6) { 
    [0]=> 
    string(1) "1" 
    [1]=> 
    string(2) "10" 
    [2]=> 
    string(1) "" 
    [3]=> 
    string(3) "100" 
    [4]=> 
    string(3) "200" 
    [5]=> 
    string(1) "" 
    } 
} 

我怎麼能做到這一點?

我已經試過

array_splice($input,3 ,0,""); 

然後結果變成了這個樣子,中間

array(6) { 
[0]=> 
    array(6) { 
    [0]=> 
    string(1) "1" 
    [1]=> 
    string(2) "10" 
    [2]=> 
    string(1) "" 
    [3]=> 
    string(3) "100" 
    [4]=> 
    string(3) "200" 
    [5]=> 
    string(1) "" 
    } 
[1]=> 
array(1) { 
    [0]=> 
    string(1) "" 
} 
} 

回答

2

沒有添加數組在陣列的中間插入,你可以使用array_splice,長度爲0.

array_splice($input, 3, 0, "");

要添加到陣列中,可以使用任一array_push[] operator

+0

內部元件的'[]'操作者是優選的推因爲你沒有函數調用。 – Fleshgrinder

+1

另一方面,array_push允許用單個調用來追加多個元素:) –

+0

絕對正確,加上它會返回新的大小,所以你不必調用'count()'。總是取決於用例。 :) – Fleshgrinder

0

通過使用array_splice可以插入陣列

$array = [0 => 'Data', 1 => 'data2', 2=> 'data3']; 
array_splice($array, 1, 0, 'data append'); 
var_dump($array);