2017-05-17 4 views
1

に多次元配列は、あなたが私のコードで私を助けてくださいすることができます変換、私は私の多次元配列を変換 で苦労している:これは私の多次元配列である単一のアレイに</p> <p>を単一のアレイ

array:2 [ 
     0 => array:3 [ 
     0 => "tuesday" 
     1 => "thursday" 
     ] 
     1 => array:3 [ 
     0 => "monday" 
     1 => "wednesday" 
     2 => "friday" 
     ] 
    ] 

これは私がやろうとしているものです:

array:["tuesday","thursday","monday","wednesday","friday"] 

これは私のコード

$day = [ 
      0 => array:3 [ 
      0 => "tuesday" 
      1 => "thursday" 
      ] 
      1 => array:3 [ 
      0 => "monday" 
      1 => "wednesday" 
      2 => "friday" 
      ] 
     ]; 
$days = []; 

$lent = count($day); 
     for ($x=0; $x < $lent ; $x++) { 
      $lengt = count($data[$x]); 
      for ($i=0; $i < $lengt; $i++) { 
       $days[$x] = $day[$x][$i]; 
      } 
     } 
+0

コードを表示できますか? – Aswathy

+1

これを試してみてください$ oneDimensionalArray = call_user_func_array( 'array_merge'、$ day); – JYoThI

答えて

1

簡単です:上記のコードは何

$flattened = []; 
foreach ($mdarray as $arr) { 
    foreach ($arr as $val) { 
     $flattened[] = $val; 
    } 
} 

それは多次元配列を反復処理され、値を取得しますそれぞれのサブアレイの要素を加算し、その要素を$flattenedに追加します。

あなたがPHP 5.6+を使用している場合、このコードは簡単です:

$flattened = array_merge(...$mdarray); 
+0

ありがとうございました:) – MariaJen

-2
for($i = 0; $i < count($day); $i++){ 
    for($j = 0; $j < count($day[$i]); $j++){ 
     $days[] = $day[$i][$j]; 
    } 
} 
+0

@MariaJenでも機能しましたか?他の答えを試してみて私たちに知らせるなら、正しい答えを選んでください! – Zeke

0

call_user_func_arrayいくつかの結果を組み合わせること。

$oneDimensionalArray = call_user_func_array('array_merge',$day); 
+0

私はなぜdownvote – JYoThI

+0

Ikrを知っているかもしれません、それは今downvote戦争のようなものです...あなたの答えは私にはうまく見えます – Zeke

+0

@downvoterあなたはなぜdownvote – JYoThI

関連する問題