循环并在末尾删除逗号
Posted
技术标签:
【中文标题】循环并在末尾删除逗号【英文标题】:Looping with removal of comma at the end 【发布时间】:2012-02-20 18:28:43 【问题描述】:我需要有关如何从这个循环变量中删除最后一个逗号的帮助。
$image_meta .= "\"id\":\"".$img_id."\",\"client\":\"".$img_desc."\",\"desc\":\"Test\",";
FireFox 似乎不介意,但 IE 会。
如果有任何方法可以摆脱 .= 并以另一种方式循环我的数据,我将不胜感激。
【问题讨论】:
为什么不用内置的json序列化器? 【参考方案1】:我们需要查看脚本的其余部分。 但是根据我对您的情况的了解,当您回显 $image_meta (我想在循环之后)时,您可以执行以下两种操作之一:
echo rtrim($image_meta,',');
或
echo substr($image_meta,0,-1);
【讨论】:
啊,我们走了,非常非常非常感谢,这成功了。最受好评【参考方案2】:你可以这样做:
$ar_image_meta = array();
for/foreach() // your loop
$ar_image_meta[] = '"id":"'.$img_id.'","client":"'.$img_desc.'","desc":"Test"';
$image_meta = implode(", ", $ar_image_meta);
如果您的目标是将 php 变量“转换”为 javascript 变量,请查看json_encode()
。
【讨论】:
【参考方案3】:看看内爆:
http://php.net/manual/en/function.implode.php
澄清一下,我猜你正在做类似的事情:
$image_meta = '';
foreach($blahs as $blah)
$image_meta .= "\"id\":\"".$img_id."\",\"client\":\"".$img_desc."\",\"desc\":\"Test\",";
这样的事情应该可以工作:
$image_meta_arr = array();
foreach($blahs as $blah)
array_push($image_meta, "\"id\":\"".$img_id."\",\"client\":\"".$img_desc."\",\"desc\":\"Test\"";
$image_meta = implode(',', $image_meta_arr);
【讨论】:
我检查了整个 implode 函数,但仅使用 1 行就失败了,知道如何植入它吗?以上是关于循环并在末尾删除逗号的主要内容,如果未能解决你的问题,请参考以下文章
在批处理文件中拆分以逗号分隔的字符串并在循环中调用 sqlplus 函数