我想要遍历一个数组,组装一个字符串以便每次都返回。
我的问题是如何在数组的最后一次迭代中省略逗号,或者数组中只有一个元素?我不确定这个操作会被称为什么,因为我的编码技巧非常简陋,所以我没有太多运气寻找答案。即使帮助了解这个基本细节也会非常感激。
这是我想要的结果:
{ image : 'http://www.site.com/path/to/file/image1.jpg', title : 'Some title and caption' url : 'http://www.site.com/path/to/file/image1.jpg' },
{ image : 'http://www.site.com/path/to/file/image1.jpg', title : 'Some title and caption' url : 'http://www.site.com/path/to/file/image1.jpg' },
{ image : 'http://www.site.com/path/to/file/image1.jpg', title : 'Some title and caption' url : 'http://www.site.com/path/to/file/image1.jpg' }
请注意缺少尾随逗号。 下面是用于生成字符串的php Im。它将始终包含一个尾随的逗号,它引起了我各种各样的格雷夫。
//snipit
$i = 1;
$a = '';
foreach ($pages as $go)
{
$title = ($go['media_title'] == '') ? ' ' : $go['media_title'];
$caption = ($go['media_caption'] == '') ? ' ' : $go['media_caption'];
$a .= "{ image :'" . BASEURL . GIMGS . "/$go[media_file]', title : '{$title}, {$caption}', url: '" . BASEURL . GIMGS . "/$go[media_file]' }";
$a .= ",\n";
$i++;
return $a;
}
非常感谢您的经历,
orionrush
答案 0 :(得分:2)
$a[] = "{ image :'" . BASEURL . GIMGS . "/$go[media_file]', title : '{$title}, {$caption}', url: '" . BASEURL . GIMGS . "/$go[media_file]' }";
并通过
使用它return implode(",\n", $a);
答案 1 :(得分:1)
您应该使用json_encode()
。
$data = array();
foreach ($pages as $go) {
$title = ($go['media_title'] == '') ? ' ' : $go['media_title'];
$caption = ($go['media_caption'] == '') ? ' ' : $go['media_caption'];
$data[] = array(
'image' => BASEURL . GIMGS . '/' . $go['media_file'],
'title' => $title . ', ' . $caption,
'url' => BASEURL . GIMGS . '/' . $go['media_file']
);
}
echo json_encode($data);
答案 2 :(得分:1)
foreach ($pages as $go){
$return[] = json_encode($go);
}
return implode(",\n", $return);
在foreach中做你喜欢的事,implode会用逗号分隔你想要的行
答案 3 :(得分:0)
只需用substr:
来结束return substr($a, 0, -3);