分享心得,是为了让你少走弯路。 经评论中一位仁兄提醒,发现又一神器join()函数
join()函数可把数组元素直接组合为一个字符串语法格式:join(separator,array)实例:$arr = array('Hello','World!','I','love','Shanghai!');echo join(" ",$arr);结果输出:Hello World! I love Shanghai!另外:join() 函数是 implode() 函数的别名。join() 函数接受两种参数顺序颠倒。但是由于历史原因,explode() 是不行的,separator 参数必须在 string 参数之前。
以下为原文|
从数据库中select()读取一对多的信息时,经常需要将取出的数组用某个特定的字符分割,然后拼接成字符串。
常见的语法格式:
foreach ($arr as $key => $value) { $arr_str = $arr['x_id'] . ',' . $arr_str; }
假设字符数组 $arr 中的字符分别为
arr[0] = 'a'; arr[1] = 'b'; arr[2] = 'c';
则,拼接后的 $arr_str 字符串为 a,b,c, 这个时候,就需要我们对最后一位字符','进行删除处理。
PHP中删除最后一位字符的方法总结:
方法一:substr($arr_str,0,strlen($arr_str)-1);详解: substr()函数语法:string substr ( string $string , int $start [, int $length ] ) strlen()函数语法:int strlen ( string $string )本例原理: 首先使用strlen()函数获取字符串$arr_str的长度,然后使用substr()函数对$arr_str进行截取,截取至$arr_str的倒数第二位。这样就把最后的","去掉了。使用感受: 不推荐,php中还有更简洁更好用的方式!
方法二:substr($arr_str, 0, -1) 详解:直接使用substr()函数倒序裁掉最后一位字符;(刚才为什么不说!)呵呵~~使用感受:还是很合适的~~不过,首先你要确定字符串中一定有内容,且最后一位一定不要!
方法三:rtrim($arr_str, ",") 详解:rtrim()函数语法:string rtrim ( string $str [, string $character_mask ] )rtrim — 删除字符串末端的空白字符(或者其他字符)使用感受:简直就是为了这个需求准备的!
特别注意!!!
以上方法对字符串进行操作后,返回操作结果,并不对字符串本身进行改变!记得使用一个变量进行接收结果!!别问我为什么知道...还我浪费的十五分钟。。。
欢迎留言补充~~~
最后
壮士留步!看完了点个赞噻~!