2013-02-27 111 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);