字符串拆分是大家写php程序的时候,经常使用到的。很久之前,苏南大叔喜欢使用split()join()。后来,split()函数莫名其妙的被explode()函数给取代了。与时俱进之后,发现join()函数,其实也有个对应的implode()函数。这就是本文的写作初衷了。

苏南大叔:php函数解析,字符串拆分函数join/implode/explode/split - php-implode
php函数解析,字符串拆分函数join/implode/explode/split(图2-1)

本文测试环境:win10,php@7.3.4nts

字符串分割

至今也想不明白,非常好用的split(),咋就变成了explode()。既然时代抛弃了split(),那么就让他飘过吧。

explode ( string $delimiter , string $string [, int $limit ] ) : array

范例如下:

$data = "foo:*:1023:1000::/home/foo:/bin/sh";
list($user, $pass, $uid, $gid, $gecos, $home, $shell) = explode(":", $data);
echo $user; // foo
echo $pass; // *

字符串合并

反正苏南大叔,日常是使用join()函数的,后来根据官方说明,原来join()implode()函数的别名。哈哈,原来是个马甲函数。

implode ( string $glue , array $pieces ) : string
$arr = array('Hello','World!','Beautiful','Day!');
echo join(" ",$arr);  //Hello World! Beautiful Day!
$array = array('lastname', 'email', 'phone');
echo implode(",", $array); // lastname,email,phone

特别提示

这里有个非常有意思的罕见小知识,implode()的两个参数可以互换,得到的将会是同样的结果。而explode()函数,却并不能做到同样的事情,两个参数并不能互换。

$array = array('lastname', 'email', 'phone');
echo implode(",", $array); // lastname,email,phone
echo implode($array,",");  // lastname,email,phone
$str ="lastname,email,phone";
var_dump(explode(",",$str));
var_dump(explode($str,","));

苏南大叔:php函数解析,字符串拆分函数join/implode/explode/split - php-implode-more
php函数解析,字符串拆分函数join/implode/explode/split(图2-2)

相关链接

总结

一些函数,平时用着用着,就没多想过。结果看看文档,还能看出来亲戚关系来。真是很有意思啊。对吧?

更多php函数分析,请参考苏南大叔的博客:

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。
本站采用创作共用版权协议, 要求署名、非商业用途和相同方式共享。
转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议。
未经许可,规模化镜像抄袭本站内容的行为,将会根据有关法律法规进行维权。
程序如此灵动~》下所有原创文章,如被用于商业用途,请您按规定支付稿费。

 【加群】加入QQ群【175454274】和大家一起讨论这个问题

 【源码】本文代码片段及相关软件,请点此获取

 【绝密】秘籍文章入口,仅传授于有缘之人   php

本站的忠实读者小伙伴,正在阅读下面这些文章: