2017-04-20 100 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); 
}