Inhaltsverzeichnis
回复讨论(解决方案)
Heim Backend-Entwicklung PHP-Tutorial 总是搞不懂foreach怎么这样遍历这样的数组

总是搞不懂foreach怎么这样遍历这样的数组

Jun 23, 2016 pm 02:25 PM

例如有这样一个数组:
array(4) {
  ["title"]=>
  array(9) {
    [0]=>
    string(3) "标题1"
    [1]=>
    string(3) "标题2"
    [2]=>
    string(3) "标题3"
    [3]=>
    string(3) "标题4"
  }
  ["id"]=>
  array(9) {
    [0]=>
    string(1) "n1"
    [1]=>
    string(1) "n2"
    [2]=>
    string(1) "n3"
    [3]=>
    string(1) "n4"
  }
  ["pic"]=>
  array(9) {
    [0]=>
    string(4) "1.jpg"
    [1]=>
    string(4) "2.jpg"
    [2]=>
    string(4) "3.jpg"
    [3]=>
    string(4) "4.jpg"
  }
  ["price"]=>
  array(9) {
    [0]=>
    string(5) "85.00"
    [1]=>
    string(6) "155.00"
    [2]=>
    string(5) "49.00"
    [3]=>
    string(5) "75.00"
  }
  ....更多数组

}

我想把里面的数据这样遍历循环出来:



  • 总是搞不懂foreach怎么这样遍历这样的数组
    标题1
    85.00




  • 总是搞不懂foreach怎么这样遍历这样的数组
    标题2
    155.00




  • 总是搞不懂foreach怎么这样遍历这样的数组
    标题3
    49.00




  • 总是搞不懂foreach怎么这样遍历这样的数组
    标题4
    75.00




  • 里面应该怎么写的?
    foreach($arr as $key => $value)
    {
    foreach(里面不会写了)
    {
    echo '
  • ';
    echo '';
    echo '总是搞不懂foreach怎么这样遍历这样的数组';
    echo $title;
    echo ''.$price.'';
    echo '';
    echo '
  • ';
    }
    }

    回复讨论(解决方案)

    foreach( $value as  $k=>$v)
    红色的和上一层的值相同,蓝色则要不同

    你这种数组结构,最好用我之前发过的一个二维数组类做一次行列转换,就简单多了,输出时遍历一次则可

    你这种数组结构,最好用我之前发过的一个二维数组类做一次行列转换,就简单多了,输出时遍历一次则可
    在哪?链接可否发我一下。

    我发的帖子很少,你搜一下就能找到

    其实如果你能确认数组的键值对应,也可以直接遍历二维键值
    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
    标题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"),);
    Nach dem Login kopieren
    方法1:
    foreach($ar['id'] as $i=>$r) {  echo <<< HTML<li><a href="$r" /><img  src="/static/imghw/default1.png"  data-src="{$ar['pic'][$i]}"  class="lazy"  pic'][$i]}"/ alt="总是搞不懂foreach怎么这样遍历这样的数组" >{$ar['title'][$i]}<em>{$ar['price'][$i]}</em></a></li>HTML;}
    Nach dem Login kopieren
    方案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="/static/imghw/default1.png"  data-src="$r[1]"  class="lazy"  / alt="总是搞不懂foreach怎么这样遍历这样的数组" >$r[2]<em>$r[3]</em></a></li>HTML;}
    Nach dem Login kopieren
    均可输出
    <li><a href="n1" /><img  src="/static/imghw/default1.png"  data-src="1.jpg"  class="lazy"  / alt="总是搞不懂foreach怎么这样遍历这样的数组" >标题1<em>85.00</em></a></li><li><a href="n2" /><img  src="/static/imghw/default1.png"  data-src="2.jpg"  class="lazy"  / alt="总是搞不懂foreach怎么这样遍历这样的数组" >标题2<em>155.00</em></a></li><li><a href="n3" /><img  src="/static/imghw/default1.png"  data-src="3.jpg"  class="lazy"  / alt="总是搞不懂foreach怎么这样遍历这样的数组" >标题3<em>49.00</em></a></li><li><a href="n4" /><img  src="/static/imghw/default1.png"  data-src="4.jpg"  class="lazy"  / alt="总是搞不懂foreach怎么这样遍历这样的数组" >标题4<em>75.00</em></a></li>
    Nach dem Login kopieren

    Erklärung dieser Website
    Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

    Heiße Artikel -Tags

    Notepad++7.3.1

    Notepad++7.3.1

    Einfach zu bedienender und kostenloser Code-Editor

    SublimeText3 chinesische Version

    SublimeText3 chinesische Version

    Chinesische Version, sehr einfach zu bedienen

    Senden Sie Studio 13.0.1

    Senden Sie Studio 13.0.1

    Leistungsstarke integrierte PHP-Entwicklungsumgebung

    Dreamweaver CS6

    Dreamweaver CS6

    Visuelle Webentwicklungstools

    SublimeText3 Mac-Version

    SublimeText3 Mac-Version

    Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

    11 beste PHP -URL -Shortener -Skripte (kostenlos und Premium) 11 beste PHP -URL -Shortener -Skripte (kostenlos und Premium) Mar 03, 2025 am 10:49 AM

    11 beste PHP -URL -Shortener -Skripte (kostenlos und Premium)

    Arbeiten mit Flash -Sitzungsdaten in Laravel Arbeiten mit Flash -Sitzungsdaten in Laravel Mar 12, 2025 pm 05:08 PM

    Arbeiten mit Flash -Sitzungsdaten in Laravel

    Vereinfachte HTTP -Reaktion verspottet in Laravel -Tests Vereinfachte HTTP -Reaktion verspottet in Laravel -Tests Mar 12, 2025 pm 05:09 PM

    Vereinfachte HTTP -Reaktion verspottet in Laravel -Tests

    Einführung in die Instagram -API Einführung in die Instagram -API Mar 02, 2025 am 09:32 AM

    Einführung in die Instagram -API

    Erstellen Sie eine React -App mit einem Laravel -Back -Ende: Teil 2, reagieren Erstellen Sie eine React -App mit einem Laravel -Back -Ende: Teil 2, reagieren Mar 04, 2025 am 09:33 AM

    Erstellen Sie eine React -App mit einem Laravel -Back -Ende: Teil 2, reagieren

    Curl in PHP: So verwenden Sie die PHP -Curl -Erweiterung in REST -APIs Curl in PHP: So verwenden Sie die PHP -Curl -Erweiterung in REST -APIs Mar 14, 2025 am 11:42 AM

    Curl in PHP: So verwenden Sie die PHP -Curl -Erweiterung in REST -APIs

    12 Beste PHP -Chat -Skripte auf Codecanyon 12 Beste PHP -Chat -Skripte auf Codecanyon Mar 13, 2025 pm 12:08 PM

    12 Beste PHP -Chat -Skripte auf Codecanyon

    Benachrichtigungen in Laravel Benachrichtigungen in Laravel Mar 04, 2025 am 09:22 AM

    Benachrichtigungen in Laravel

    See all articles