2011-08-03 18 views
-1

私はこのようになります配列があります。PHP:多次元配列

Array ([today] => Array ([0] => Array ([hour] => 08/03/11 00:00) 
          [1] => Array ([hour] => 08/03/11 11:00) 
          [n] => Array ([hour] => 0xxxxxxxxx) 
         ) 
     [yesterday] => Array ([0] => Array ([hour] => 08/02/11 00:00) 
           [1] => Array ([hour] => 08/02/11 11:00) 
           [n] => Array ([hour] => 0xxxxxxxxx) 
          ) 
) 

などなど、今日のために多くの時間を持つ、と昨日のための多くを。

今、foreachの中で、今日と昨日の同じ時間をどうやって得るのかちょっと分かりません。例えば、私が持っている:

foreach ($Array as $key => $data) { 

//display today's hour //display yesterday's hour value

にはどうすれば行ずつ、それらのすべての値を得ることができますか?

答えて

0
foreach($array['today'] as $k=>$v){ 
    //use $v 
    //use $array['yesterday'][$key] 
    //ex. 
    print 'today'.$v['hour'].'; yesterday '.$array['yesterday'][$k]['hour'].EOLN; 
} 
+0

シンプルにして動作します:) – luqita

+1

あなたがそれを設定していないとき、これはあなたの参照 '$のkey'を動作しません、それはする必要があります'$ k' –

+0

@MartinBarker、ありがとう、固定 – RiaD

1

奇妙な配列です。これを試してみてください:巣にあなたが持っている

foreach ($Array as $key => $data) { 
    foreach($data as $v){ 
     echo $key."'s hour: ".$v[hour]; 
    } 
} 
2

Forech

$array = array(
    'today'=>array(
    0 => Array ('hour' => '08/03/11 00:00'), 
    1 => Array ('hour' => '08/03/11 11:00'), 
    'n' => Array ('hour' => '0xxxxxxxxx') 
), 
    'yesterday'=>array(
    0 => Array ('hour' => '08/03/11 00:00'), 
    1 => Array ('hour' => '08/03/11 11:00'), 
    'n' => Array ('hour' => '0xxxxxxxxx') 
) 
); 

SO

それぞれの時間の値の積6は、単一のライン意志
foreach($array as $key => $arr){ 
    foreach($arr as $a_key => $a_arr){ 
    foreach($a_arr $b_key => $b_str){ 
     var_dump($b_str); 
    } 
    } 
} 

上記のその配列とone

どのように私はそれがあるべき

、あなたがそれの楽しみのためにそのちょうど無駄にメモリをダフト・アレイの設定を持っていると思います - 数(配列ならば、あなたの配列

$array = array(
    'today'=>array(
    0 => '08/03/11 00:00', 
    1 => '08/03/11 11:00', 
    'n' => '0xxxxxxxxx' 
), 
    'yesterday'=>array(
    0 => '08/03/11 00:00', 
    1 => '08/03/11 11:00', 
    'n' => '0xxxxxxxxx' 
) 
); 
1

に第二の深させずに同じデータを保持しています[今日])==数(配列[昨日])そして、このことができますことがあります

for ($i=0,$cnt=count(array['today']); $i<$cnt; $i++) 
    echo $Array['today'][$i]['hour'] . ' : ' $Array['yesterday'][$i]['hour'] 
) 
+0

も配列しなければならない(インデックスをスキップしないで)良いインデックスであること – RiaD

+0

@RiaDはい、他の多くのもの.. =) – Subdigger