繁体   English   中英

PHP将多维数组打印到HTML

[英]PHP Printing a Multidimensional Array to HTML

我环顾四周,但不确定是否可以找到特定的答案,因此,如果我错过了合适的帖子,对不起,请给我链接:)

我正在创建一个脚本,以在文件夹中搜索更多文件夹,并将每个文件夹中所有文件的列表编译成一个多数组。 文件夹名称将是随机的,因此我对如何使用foreach循环提取它们有些迷惑。

我对“ [0] =>数组 ”中的第二个数组也感到困惑。 我的脚本中的输出数据当前如下所示:

    Array
(
    [0] => Array
        (
            [folders] => Array
                (
                    [album 1] => Array
                        (
                            [0] => wallpaper-1089283.jpg
                            [1] => wallpaper-2549931.png
                            [2] => wallpaper-379108.jpg
                            [3] => wallpaper-38130.jpg
                        )

                    [album 2] => Array
                        (
                            [0] => ns75FqFLk1v6jEmecgu25IOk8yB.jpg
                            [1] => wallpaper-1627330.jpg
                            [2] => wallpaper-1629402.jpg
                        )

                    [album 3] => Array
                        (
                            [0] => wallpaper-1042083.jpg
                            [1] => wallpaper-176023.jpg
                            [2] => wallpaper-2624435.jpg
                        )

                )

        )

)

因此,我真的想让该数据输出到如下所示的html中。 我真的没有对多数组做很多工作,我希望我能学到:)

<div>
    <img src="image.jpg"/>
    <img src="image.jpg"/>
    <img src="image.jpg"/>
</div>
<div>
    <img src="image.jpg"/>
    <img src="image.jpg"/>
    <img src="image.jpg"/>
</div>
<div>
    <img src="image.jpg"/>
    <img src="image.jpg"/>
    <img src="image.jpg"/>
</div>
foreach ($array[0]['folders'] as $albumID => $images) {
    ... <div> ...
   foreach($images as $img) {
      .... <img> here ...
   }
   .... </div>
}
foreach($array[0]['folders'] as $albumarray)
{
  echo "<div>";
   foreach(albumarray as $img)
   {
    echo '<img src="'.$img.'"/>'
   }
   echo "</div>";
}

尝试这个:

foreach($data as $singleFolder) {
  echo '<div>';
   foreach($singleFolder as $img){
     echo "<img src='$img' />";
   }
  echo '</div>'
}
$array = array(
    0 => array(
        'folders' => array(
            'album 1' => array(
                0 => 'wallpaper1.jpg',
                2 => 'wallpaper1.jpg',
                3 => 'wallpaper1.jpg',
            ),
            'album 2' => array(
                0 => 'wallpaper1.jpg',
                2 => 'wallpaper1.jpg',
                3 => 'wallpaper1.jpg',
            ),
            'album 3' => array(
                0 => 'wallpaper1.jpg',
                2 => 'wallpaper1.jpg',
                3 => 'wallpaper1.jpg',
            )
        )
    )
);

$output = '';

foreach ($array[0]['folders'] as $key => $value) {
    $output .= '<div>\n';

    foreach ($value as $file) {
        $output .= '\t<img src="'.$file.'" />\n';
    }

    $output .= '</div>\n';
}

echo $output;

尝试这样的事情。

$albums = $array[0]['folders'];
foreach ($album as $img_array)
{
  echo "<div>";
    foreach ($img_array as $img)
    {
       echo "<img src='".$img."'/>";
    }
  echo "</div>";
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM