2017-04-20 105 views
0

我有一个数组,我不想删除第一级标识符[0]。我认为这是一个函数,这个改写下面的代码:删除第一级多维数组PHP

Array 
(
    [0] => Array 
     (
      [id] => 20 
      [parent_id] => 15 
      [status] => 1 
     ) 

) 
Array 
(
    [0] => Array 
     (
      [id] => 15 
      [parent_id] => 1 
      [status] => 1 
     ) 

) 

,我想这样的


Array 
(
    [0] => Array 
     (
      [id] => 20 
      [parent_id] => 15 
      [status] => 1 
     ) 
    [1] => Array 
     (
      [id] => 15 
      [parent_id] => 1 
      [status] => 1 
     ) 
) 

我试着用下面的代码,但我希望他们在同一阵列中。有这个功能吗?

 $processed = array(); 
     foreach($category[0] as $key => $value) { 
      $processed[$key] = $value; 
     } 
Array 
(
    [id] => 20 
    [parent_id] => 15 
    [status] => 1 
) 
Array 
(
    [id] => 15 
    [parent_id] => 1 
    [status] => 1 
) 
Array 
(
    [id] => 1 
    [parent_id] => 0 
    [status] => 1 
) 

我想通了,但有没有这样的功能?

$output = array(); 

while(true) { 
// code .. 
$processed = array(); 
foreach($category[0] as $key => $value) { 
    $processed[$key] = $value; 
} 
$output[] = $processed; 

//code.. 
} 

print_r($output) 
+1

一种方法是'$ mFinalArray [] = $ mArray; $ mFinalArray [] = $ mArray2;' –

+0

@AntonisTsimourtos我刚编辑我的问题,看我的代码和输出 – Kovi

+0

尝试我上面提到的。 '$ mArray'代表一个数组,另一个代表'$ mArray2'。如果您在这样做时遇到问题,请参考您的阵列名称,以便我可以给你准确的线路。但是,你应该真的阅读数组如何工作的概念,因为可能你会使用它们很多。 –

回答

0

这听起来像你想array_merge:http://php.net/manual/en/function.array-merge.php

在你的示例代码,你会使用它像这样:

$firstArray = Array 
(
[0] => Array 
    (
     [id] => 20 
     [parent_id] => 15 
     [status] => 1 
    ) 
); 

$secondArray = Array 
(
[0] => Array 
    (
     [id] => 15 
     [parent_id] => 1 
     [status] => 1 
    ) 
) 

$thirdArray = Array 
(
[0] => Array 
    (
     [id] => 15 
     [parent_id] => 1 
     [status] => 1 
    ) 
) 

$processed = array_merge($firstArray, $secondArray, $thirdArray); 

如果上面的方法是不切实际的,你可以做些什么如:

$processed = array(); 
foreach($category[0] as $key => $value) { 
    $processed = array_merge($processed, $value); 
}