PHP 字符串删除操作

  • php,api,mysql,字符串,json,
  • 2014-08-01 12:54:38

从数据库里查询得到一个结果集,然后通过字符串拼接,拼成一个 json 数组格式的字符串。

第一次写法是这样的

$result = mysql_query($sql);
$string = '{"array":[';
while($row = mysql_fetch_array($result)){
$string .= '{"id":"'.$row['id'].'"},';
}
$string = substr($string,0,-1);
$string .= ']}';

$string = substr($string,0,-1) 这行代码的意思是,对$string 进行裁剪,从第 0 位开始,到倒数第一个。

这样的结果是,如果sql查询后有结果集的话,没问题,但是如果结果集为 空 的话,字符串就变成了{"array":]} ,数组被破坏了。想通过判断结果集是否为空来处理,但是 使用 empty($result) 并没有用,因为这个结果集是否为空,需要用 mysql_fetch_array() 来判断。所以增加$result 为空的判断失败了。

那另外一个解决办法就是从字符串上动手了。我的想法是,我想删除最后一个字符,但是它必须满足某个条件,比如最后一个字符是 ',' ,看php 的api 上,有这么一个方法 rtrim() ,trim() 就是删除一些特殊字符用的,rtrim() 是只对字符串的右边操作。把代码改成下面就OK了。

$string = rtrim($string,',');

PHP 提供的字符串操作的 API 还是比较丰富的。

相关文章

- EOF -

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动。
转载请注明:文章转载自 Binkery 技术博客 [https://binkery.com]
本文标题: PHP 字符串删除操作
本文地址: https://binkery.com/archives/302.html