2012-02-26 3 views
1

これは私が作業している配列の短い例です。配列から値を取得するforeachステートメント

Array ([0] => Array ([Name] => somename [Attributes] => Array ([Body] => somebody 
[Region] => someregion [State] => somestate [Url] => someurl [Date] => somedate [Tz] => 
sometz [Title] => sometitle [City] => somecity)) [1] => Array ([Name] => somename1 
[Attributes] => Array ([Body] => somebody1 [Region] => someregion1 [State] => somestate1 
[Url] => someurl1 [Date] => somedate1 [Tz] => sometz1 [Title] => sometitle1 [City] => 
somecity1))) 

各配列の値を取得するには、foreachステートメントで助けが必要です。

これらの配列を日付に基づいて並べ替える例もあります。

おかげ

答えて

3

これは、PHPのドキュメントを見てするのに役立ちます:

あなただけやりたい。この場合

http://php.net/manual/en/control-structures.foreach.php

foreach (your_array_name as $value) 
    //do something with $value 
+0

を使用して、私は質問をする前に、そのページ上にあった、といくつかの例を試してみました。ちょうどそれを動作させることができませんでした。 – TDave00

+0

ありがとう、私はばかな間違いをした。 1つのファイルにコードを追加して、私が作成した複製をチェックしていました。私はそれを働かせることができなかったのも不思議ではない。 'foreach($ rest as $ value) \t { \tエコー$値['名前']; \t等。 \t} – TDave00

2

ソリューションは、ネストされた2つを使用することですforeach()

foreach ($array as $value) { 
    foreach($value as $v){ 
    echo $v; 
    } 
} 

最後に、配列をソートするには、usort()またはcmp()のいずれかを使用できます。 はあなたの日付(理想的にはISO 8601)に同じフォーマットを使用することを忘れないように、簡単に並べ替えることができます。

1

は、多種類の技術http://in.php.net/array_multisort

$array1 = array(0 => array('name' => somename1, 'Attributes' => array('Body' => somebody, 
       'Region' => someregion, 'State' => somestate, 'Url' => someurl, 'Date' => '26-02-2011', 'Tz' => 
       sometz, 'Title' => sometitle, 'City' => somecity)), 
     1 => array('name' => somename2, 'Attributes' => array('Body' => somebody, 
       'Region' => someregion, 'State' => somestate, 'Url' => someurl, 'Date' => '25-02-2011', 'Tz' => 
       sometz, 'Title' => sometitle, 'City' => somecity))); 

    foreach ($array1 as $index => $inner_arr) { 
     $attr = $inner_arr['Attributes']; 
     foreach ($attr as $key => $value) { 
      $date_arr[$index] = strtotime($attr['Date']); 
     } 
    } 
//for multisort give date array as the array accoring to which the data to be sorted. 
//We are dumping date into array and trying to sort data according tot he date array sorted. 

    array_multisort($date_arr,$array1); 

    //after sorting loop thru data 
    foreach ($array1 as $inner_arr) { 
     echo "name:". $inner_arr['name']; 
     foreach ($inner_arr['Attributes'] as $key => $value) { 
      echo "<br>$key: $value"; 

     } 
     echo '<hr>'; 
    } 
関連する問題