将php foreach循环的结果存储为数组

时间:2013-07-29 18:10:29

标签: php arrays foreach

我使用foreach循环生成一组缩略图链接。我正在使用Wordpress,由于某种原因我的PHP执行的地方不是我想要呈现列表的地方。所以我的问题是:我可以将echo语句替换为存储所有生成的html的内容(对于每个图像,而不仅仅是最后一个),并允许我在同一页面上进一步生成它吗?

感谢您的帮助。这是我到目前为止的php:

foreach ($gallery_images as $galleryID) {
    $attachment = get_post( $galleryID );

    $thumb_img = wp_get_attachment_image_src( $galleryID, 'thumbnail' );    //thumbnail src
    $full_img = wp_get_attachment_image_src( $galleryID, 'full' );  //full img src

    echo '<a href="' . $full_img[0] . '" id="description-button-' . $gallery_images_count . '" class="thumbLink" target="_blank"><img src="' . $thumb_img[0] .'"></a>';

    $gallery_images_count++;

}//end forEach

2 个答案:

答案 0 :(得分:1)

您可以将结果存储到数组中,以便以后可以“回显”结果:

$links = array();
foreach ($gallery_images as $galleryID) {
    $attachment = get_post( $galleryID );

    $thumb_img = wp_get_attachment_image_src( $galleryID, 'thumbnail' );    //thumbnail src
    $full_img = wp_get_attachment_image_src( $galleryID, 'full' );          //full img src

    $links[] = '<a href="' . $full_img[0] . '" id="description-button-' . $gallery_images_count . '" class="thumbLink" target="_blank"><img src="' . $thumb_img[0] .'"></a>';

    $gallery_images_count++;

}

然后在您的代码中,您可以将其打印出来:

echo implode("\n", $links);

答案 1 :(得分:0)

$arr = array();
foreach(...) {
   $arr[] = '<a href=........';
}