2013-02-27 159 views
0

我有數組的數組:陣列的拼接陣列

Array 
(
    [0] => "title" 
    [1] => Array 
     (
      [0] => a 
      [1] => b 
      [2] => c 
     ) 
    [2] => Array 
     (
      [0] => d 
      [1] => e 
      [2] => f 
     ) 
) 

我需要插入一個數組第一個數組像下面

Array 
(
    [0] => "title" 
    [1] => Array 
     (
      [0] => a 
      [1] => b 
      [2] => c 
     ) 
    [2] => Array 
     (
      [0] => a1 
      [1] => b1 
      [2] => c1 
     ) 
    [3] => Array 
     (
      [0] => d 
      [1] => e 
      [2] => f 
     ) 
) 

我不知道如何使用array_splice()。我試過這種方式,但沒有奏效。

array_splice($main_array, 2, 0 $array_to_insert) 
+1

這是PHP,JavaScript不。 – Blender 2013-02-27 09:02:02

+0

你是否對'array_splice'的返回值做了任何事情? – Jon 2013-02-27 09:05:14

+0

我認爲他談到了arrayName.splice,而不是array_splice。 js也是如此。 – zozo 2013-02-27 09:09:42

回答

1
$main_array = array(0 => "title",1 => array("a","b")); 

$array_to_insert = array("c","d"); 

$new_array = array_splice($main_array, 1, 0, array($array_to_insert)); 

print_r($main_array); 
-1

nameOfArray [3] = [「d」,「e」,「f」]。此外拼接是好的,但必須像使用:方法Array.splice(指數的howmany,whatToInsert)

+0

其實['d','e','f']已經存在於我的數組中。我需要在它之前插入['a1','b1','c1]。 – Gayane 2013-02-27 09:06:52

+0

你可以說在添加投票之前。閱讀編輯。該信息爲 – zozo 2013-02-27 09:07:45

1

我認爲這將有助於你...

var a = [1,2,3,4,5]; 
a.splice(2,0,'a','b'); // Returns []; a is [1,2,'a','b',3,4,5] 
a.splice(2,2,[1,2],3); // Returns ['a','b']; a is [1,2,[1,2],3,3,4,5] 
2

更新:閱讀意見後,似乎這是一個JavaScript問題。 :) ?? !!只是爲了保持完整性,這是一個PHP的解決方案 - 如要求;)


array_splice()是正確的做法。使用下面的代碼:

<?php 

$arr = array (
'title', 
array('a', 'b', 'c'), 
array('d', 'e', 'f') 
); 
var_dump($arr); 

// note that I've wrapped the array to be inserted into another, empty, array 
array_splice($arr, 2, 0, array(array('a1', 'b1', 'c1'))); 

// further note that array_splice will not return the new array. $arr is 
// passed by reference and will get modified from inside of array_splice 
var_dump($arr); 
+0

+1 – 2013-02-27 09:35:02

0

請檢查下面的代碼

$array_to_insert = array(0 => array(0 => 'a1',1 => 'b1',2 => 'c1')); 
    // You need to have nexted array 

    $main_array = array(0 => "title",1 => array(0 => a,1 => b,2 => c),2 => array(0 => d,1 => 
e,2 => f)); 

    array_splice($main_array, 2, 0, $array_to_insert); 

    var_dump($main_array);