2015-07-20 116 views
2

我有以下阵列,分割多维数组两

Array 
(
    [0] => stdClass Object 
     (
      [test] => 0 
     ) 

    [1] => stdClass Object 
     (
      [73] => stdClass Object 
       (
        [test1] => stdClass Object 
         (
          [96] => 6 
          [116] => 0 
         ) 

       ) 

     ) 

    [2] => stdClass Object 
     (
      [73] => stdClass Object 
       (
        [test1] => stdClass Object 
         (
          [96] => 6 
          [116] => 0 
         ) 

       ) 

     ) 

) 

我想阵列拆分到两个相同

Array 
(
    [0] => stdClass Object 
     (
      [test] => 0 
     ) 
); 

Array 
(
    [0] => stdClass Object 
     (
      [73] => stdClass Object 
       (
        [test1] => stdClass Object 
         (
          [96] => 6 
          [116] => 0 
         ) 

       ) 

     ) 

    [1] => stdClass Object 
     (
      [73] => stdClass Object 
       (
        [test1] => stdClass Object 
         (
          [96] => 6 
          [116] => 0 
         ) 

       ) 

     ) 

); 

怎么办呢?请帮忙。我曾尝试array_slice和它拆分数组,但生成像Warning: array_slice() expects parameter 1 to be array, null given.

警告是否可以,如果生成警告?

回答

4

只需使用array_shift和所有做

$new_arr = array_shift($your_current_array); 

print_r($new_arr); 
print_r($your_current_array); 
+0

是的,但同样的事情发生overhere,它从数组中删除第一个元素,但生成像警告警告:array_shift()期望参数1为数组,null。这背后的原因是什么,它会影响动态的情况吗? –

+0

因为你传递了一个空数组,所以你需要检查条件为if(is_array($ array)&& count($ array)> 0)' –

1

在这种情况下,你可以只array_shift第一阵列出来:

$array1 = array_shift($array); 

这是你的输入数组将只包含其余项目后(这是你想要什么)。