如何使用while循环显示内容,然后在结尾处排除逗号?

时间:2013-10-17 10:07:37

标签: php wordpress

我在显示内容时有这段代码,它使用“while”循环

<?php
    $mypost = array( 'post_type' => 'testimonials', );
    $loop = new WP_Query( $mypost );

    while ( $loop->have_posts() ) : $loop->the_post();$do_not_duplicate = $post->ID;


            $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'single-post-thumbnail' );



        echo "{image : '$image[0];'},";

    endwhile;
?>

但我想要实现的是,删除最后一个循环的逗号,例如我有3个东西要循环,那么场景应该是这样的。

{image : 'http://website.com/wp-content/uploads/2013/09/image1.jpg'},
{image : 'http://website.com/wp-content/uploads/2013/09/image2.jpg'},
{image : 'http://website.com/wp-content/uploads/2013/09/image3.jpg'}

正如你在第三个循环中所看到的,删除了逗号,这就是我想要实现的目标。但到目前为止我还不知道如何做到这一点。

我对任何建议,建议和想法持开放态度。

3 个答案:

答案 0 :(得分:1)

$images = array();
while ( $loop->have_posts() ) : $loop->the_post();$do_not_duplicate = $post->ID;

       $images[] = "{image : '<?php echo get_option('slider3_Field');?>'}";

endwhile;

echo implode(',', $images);

答案 1 :(得分:1)

你想把它用作JSON,对吗?为什么不将PHP与JS分开?

$images = array();
while ( $loop->have_posts() ) : $loop->the_post(); $do_not_duplicate = $post->ID;

  $images[] = (object) array('image' => wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'single-post-thumbnail' )[0]);

endwhile;

echo json_encode($images);

答案 2 :(得分:0)

而不是echo将你尝试过的savins作为变量,即

while ( $loop->have_posts() ) : $loop->the_post();$do_not_duplicate = $post->ID;

        $str .= "{image : '<?php echo get_option('slider3_Field');?>'},";

    endwhile;

rtrim($str,',');

echo $str;