2017-05-30 14 views
-1
Array ( 
[0] => Array ( 
[user_id] => 1 
[report_id] => 8 
[data] => Array ( 
[0] => Array ([date_stamp] => 03/04/2017 ) 
[1] => Array ([date_stamp] => 04/04/2017 ) 
) 
[1] => Array ( 
[user_id] => 1 
[report_id] => 5 
[data] => Array ( 
[0] => Array ([date_stamp] => 09/04/2017 ) 
[1] => Array ([date_stamp] => 06/04/2017 ) 
)) 

私は以下のような配列を持っています。 私はその配列で配列の下に行きたいです。PHP多次元配列の変更

Array ( 
[0] => Array ( 
[user_id] => 1 
[report_id] => 8 
[data] => Array ( 
[0] => Array ([date_stamp] => 03/04/2017 ) 
[1] => Array ([date_stamp] => 04/04/2017 ) 
[2] => Array ([date_stamp] => 09/04/2017 ) 
[3] => Array ([date_stamp] => 06/04/2017 ) 
) 

1番目の配列を変更することによってこの2番目の配列を取得する方法。助けて。

+5

ここdemoを参照してください同じUSER_IDとdate_stampを組み合わせ、私は

を理解して何から私の結論でありますあなた自身をコードしてください**。あなたが問題を抱えている場合は** [もっと研究している**](https://meta.stackoverflow.com/q/261592/1011527)の後**あなたが試したものを投稿してください** **動作しておらず、[最小、完全、および検証可能な例](http://stackoverflow.com/help/mcve)を提供しています。 [質問する](http://stackoverflow.com/help/how-to-ask)の良い質問をお読みください。 [ツアーに参加する](http://stackoverflow.com/tour)と[this](https://meta.stackoverflow.com/q/347937/1011527)を必ず読んでください。 –

+0

[PHPが配列を別の配列に追加する(配列\ _pushまたは+ではない)](https://stackoverflow.com/questions/4268871/php-append-one-array-to-another-not-array-push) -or) - 引数として '$ foo.data'を使うだけです。 –

+1

あなたの最初の配列では、両方の配列オブジェクトの 'report_id'は違っています...本当に2つの配列を1つに結合したいのであれば、誤って' report_id'を参照しています。 – Nidhi

答えて

0

これは

この

<?php 
$a = array(array("user_id"=>1,"report_id"=>8,"data"=>array(array("date_stamp"=>"03/04/2017"),array("date_stamp"=>"04/04/2017"))), 
array("user_id"=>1,"report_id"=>5,"data"=>array(array("date_stamp"=>"09/04/2017"),array("date_stamp"=>"06/04/2017"))), 
array("user_id"=>2,"report_id"=>5,"data"=>array(array("date_stamp"=>"19/04/2017"),array("date_stamp"=>"16/04/2017"))), 
array("user_id"=>2,"report_id"=>5,"data"=>array(array("date_stamp"=>"29/04/2017"),array("date_stamp"=>"26/04/2017")))); 

$user_id = 0; 
$arr = array(); 
foreach($a as $b){ 
    $temp_array = array(); 
    if($user_id == $b['user_id']){ 
     foreach($b['data'] as $data){ 
      array_push($arr[$user_id]['data'],$data); 
     } 

    }else{ 

     $temp_array['data'] = $b['data']; 
     $temp_array['user_id'] = $b['user_id']; 
     $user_id = $b['user_id']; 
     $arr[$user_id] = $temp_array; 
    } 
} 
echo '<pre>'; 
print_r($arr); 
?> 

あなたは**書き込もうとすると予想されている