ホームページ > バックエンド開発 > PHPチュートリアル > foreach がこのような配列をどのように走査できるのかまだ理解できません

foreach がこのような配列をどのように走査できるのかまだ理解できません

WBOY
リリース: 2016-06-23 14:25:10
オリジナル
1212 人が閲覧しました

たとえば、次のような配列があります。
array(4) {
["title"]=>
array(9) {
[0]=>
string(3) "Title 1"
[1 ]=> ;
string(3) 「タイトル 2」
string(3) =>
array(9) {
[0]=>
string(1) "n1"
[1]=&
文字列(1) "n2"
[2]=>
文字列(1) "n3"
[3]=>
文字列(1) "n4"
}
["pic"]=> (9) {
[0]=>
文字列(4) "1.jpg"
[1]=>
文字列(4) "2.jpg"
文字列(4) "3.jpg"
[3]=>
文字列(4) " 4.jpg" }
["価格"]=>
配列(9) {
[0]=>
文字列(5) "85.00"
[1]=>
文字列(6) " 155.00 "
[2]=>
" 文字列(5) "49.00"
[3]=>
文字列(5) "75.00"
}
.... さらに配列

}

内部に入りたい データは次のように走査され、ループされます。


85.00


  • ;

    /em>
  • href="n3" />


    < ;li>





    何を書けばいいですか?
    foreach($arr as $key => $value)
    {
    foreach(記述されません)
    {
    echo '
  • '
    echo '';
    echo '';
    echo $title;
    echo ''.$price.'< ;/ em>';
    echo '
    ';
    }
    }


    ディスカッションへの返信 (解決策)

    foreach( $value as $k=> ;$ v)
    赤いものは前のレイヤーと同じ値ですが、青いものは異なります

    配列構造については、行と列を行うために以前投稿した 2 次元配列クラスを使用するのが最善です出力


    のような配列構造の場合、行と列の変換を行うには、以前に投稿した 2 次元配列クラスを使用するのが最善です。出力時に一度トラバースできます
    どこですか?リンクを送ってもらえますか?

    投稿数は少ないですが、検索すれば見つかります

    実際、配列のキーと値の対応が確認できれば、二次元のキー値を直接走査することもできます
    for($i= 0;$i echo $array["title"][$i];
    ……
    }

    foreach( $value as $k=>$v)
    赤い値は前のレイヤーの値と同じですが、青い値は異なります
    このようにして、すべてのデータが出てきます。
    効果は次のとおりです:
    タイトル 1
    タイトル 2
    タイトル 3
    タイトル 4
    n1
    n2
    n3
    n4
    1.jpg
    2.jpg
    3.jpg
    4.jpg
    85 .00
    155.00
    49.00
    75.00

    欲しいものではなく、すべてのデータを取り出しただけです
    タイトル 1、n1、1.jpg、85.00
    タイトル 2、n2、2.jpg、155.00
    タイトル 3、n3、3.jpg、49.00
    タイトル 4、n4、4.jpg、75.00

    必要なものではなく、すべてのデータを取り出しただけです
    タイトル 1、n1、1.jpg、85.00
    タイトル 2、n2、2.jpg、155.00
    タイトル 3、n3 , 3.jpg, 49.00
    Title 4, n4, 4.jpg, 75.00
    データ構造は次のようになっていますので、行と列を変換するか、#4 として記述してください

    データ

    $ar = array(  "title" => array("标题1", "标题2", "标题3", "标题4"),  "id" => array("n1", "n2", "n3", "n4"),  "pic" => array("1.jpg", "2.jpg", "3.jpg", "4.jpg"),  "price" => array("85.00", "155.00", "49.00", "75.00"),);
    ログイン後にコピー
    方法 1 の場合:
    foreach($ar['id'] as $i=>$r) {  echo <<< HTML<li><a href="$r" /><img src="{$ar['pic'][$i]}"/>{$ar['title'][$i]}<em>{$ar['price'][$i]}</em></a></li>HTML;}
    ログイン後にコピー
    プラン2
    foreach(array_map(null, $ar['id'], $ar['pic'], $ar['title'], $ar['price']) as $i=>$r) {  echo <<< HTML<li><a href="$r[0]" /><img src="$r[1]"/>$r[2]<em>$r[3]</em></a></li>HTML;}
    ログイン後にコピー
    が使えます Output
    <li><a href="n1" /><img src="1.jpg"/>标题1<em>85.00</em></a></li><li><a href="n2" /><img src="2.jpg"/>标题2<em>155.00</em></a></li><li><a href="n3" /><img src="3.jpg"/>标题3<em>49.00</em></a></li><li><a href="n4" /><img src="4.jpg"/>标题4<em>75.00</em></a></li>
    ログイン後にコピー

  • ソース:php.cn
    このウェブサイトの声明
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
    人気のチュートリアル
    詳細>
    最新のダウンロード
    詳細>
    ウェブエフェクト
    公式サイト
    サイト素材
    フロントエンドテンプレート