PHP迭代foreach,省略上一次迭代中的字符
我要遍历一个数组,每次都要汇编一个字符串返回 我的问题是,在数组的最后一次迭代中,或者如果数组中只有一个元素,如何省略逗号?我不确定这个操作将被称为什么,因为我的编码技能非常初级,所以我没有太多的运气来寻找答案。即使有助于了解这一基本细节,也将不胜感激 这是我想要的结果:PHP迭代foreach,省略上一次迭代中的字符,php,foreach,iteration,Php,Foreach,Iteration,我要遍历一个数组,每次都要汇编一个字符串返回 我的问题是,在数组的最后一次迭代中,或者如果数组中只有一个元素,如何省略逗号?我不确定这个操作将被称为什么,因为我的编码技能非常初级,所以我没有太多的运气来寻找答案。即使有助于了解这一基本细节,也将不胜感激 这是我想要的结果: { image : 'http://www.site.com/path/to/file/image1.jpg', title : 'Some title and caption' url : 'http://www.site.
{ 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只需用substr切掉末端:
return substr($a, 0, -3);
只需用substr将末端切掉:
return substr($a, 0, -3);
并使用它
return implode(",\n", $a);
并使用它
return implode(",\n", $a);
您应该真正使用
json\u encode()
您应该真正使用
json\u encode()
在foreach中做你喜欢做的事情,内爆将用逗号分隔你想要的行
在foreach中做你喜欢做的事情,内爆将用逗号分隔你想要的行oh请使用JSON,就像JSON\u encode一样。返回语句在for循环中。它是类型吗?Gaurav-typo在我这方面,谢谢你标记它。哦,请使用JSON,就像JSON一样,如果返回语句在for循环中。它是类型吗?Gaurav-我这方面的输入错误谢谢你的标记。ThiefMaster-我现在明白为什么人们在这里推json了-谢谢你的回答非常适合我的情况。嘿-我自己的评论被封锁了!输出是正确的,但是生成了很多额外的引号和反斜杠:{“image”:“http:\/\/photolumiere.site:8888\/files\/gimgs\/1\/u photo-32.jpg”,“title:”,“,“url:”http:\/\/photolumiere.site:8888\/files\/gimgs\/1\/u photo-32.jpg“},出于我的需要,图片标题等不应该被引用,但url需要用单引号。你能快速告诉我如何格式化输出,或者告诉我一个好的技术吗?花点时间研究一下json——很不幸,这不会很好,因为我的输出将直接发送到javascript,而且它实际上不是重写代码库以接受带引号的键等的选项。我不能投票支持你,但感谢你的帮助。如果你的输出是“直接进入javascript”,你可以简单地放一些东西,比如
var stuff=
而且它会起作用,因为JSON是JavaScript.ThiefMaster的一个子集-我现在明白为什么人们在这里推JSON了-谢谢你的回答非常适合我的情况。嘿-被我自己的评论拒之门外了!输出是正确的,但是生成了很多额外的引号和反斜杠:{“image”:“http:\/\/photolumiere.site:8888\/files\/gimgs\/1\/u photo-32.jpg”,“title:”,“,“url:”http:\/\/photolumiere.site:8888\/files\/gimgs\/1\/u photo-32.jpg“},出于我的需要,图片标题等不应该被引用,但url需要用单引号。你能快速告诉我如何格式化输出,或者告诉我一个好的技术吗?花点时间研究一下json——很不幸,这不会很好,因为我的输出将直接发送到javascript,而且它实际上不是重写代码库以接受带引号的键等的选项。我不能投票支持你,但感谢你的帮助。如果你的输出是“直接进入javascript”,你可以简单地放一些东西,比如var stuff=因为JSON是JavaScript的一个子集,所以它可以工作。因为我直接输出到JavaScript,JSON对我来说不是一个不幸的选项。这就是我最终采用的解决方案。@orionrush:我很高兴能帮助您。由于我直接输出到javascript,json对我来说不是一个不幸的选项。这就是我最终采用的解决方案。@orionrush:我很高兴能帮助你。
foreach ($pages as $go){
$return[] = json_encode($go);
}
return implode(",\n", $return);