这几天发现两个很不错的函数,用起来超爽,给大家分享一下。少些循环,代码看起来质量更佳(几行代码实现一个功能,相比我一个函数搞定,而且速度要比你的快,你觉得那个合适?)
1.explode(分割条件,分割字符串)
例子:
$str = "name,admin,class";
$str = explode(",",$str);
var_dump($str);
输出结果:
array(3) {
[0]=>
string(4) "name"
[1]=>
string(5) "admin"
[2]=>
string(5) "class"
}
2.implode(字符串之间的元素,数组)
例:
$arr = array('Hello','World!','I','love','you!');
echo implode(",",$arr);
输出结果:
Hello,World!,I,love,you!
//具体的可以自己尝试体验一下,本人在项目中主要用于用户的多选标签,方便进行存储到数据库中,分割成字符串存储到数据库中,方便查询。翻过很多文章,最终还是发现这两个比较好用,一起搭配使用,绝配。
另外分享一下字符串相关的函数,相信大家都知道,在这里也是为了加深印象。
substr()字符串截取,
例:
echo substr("wo de tian a",6);//从第六位开始,截取后面的字符串
输出:tian a
echo substr("wo de tian a",-3);//当第二个值位负数时,从末尾开始截取对应的值
输出:n a
echo substr('abcdef', 1, 2); //输出 bc
echo substr('abcdef', -3, 2); //输出 de
echo substr('abcdef', 1, -2); //输出 bcd
strstr()查找一个字符串在另外一个字符串中出现的位置,且返回从该位置后面的字符串,没有则返回false
例:
$str = "admininfo@qq.com";
echo strstr($str,"@");
输出:@qq.com
如果针对大小写敏感的,可以使用stristr(),用法同上;
strrchr()查找一个字符串在另外一个字符串最后一次出现的位置,且返回从该位置后面的字符串,没有则返回false
例:
$str = "admininfo@qq.com@123";
echo strrchr($str,"@");
输出:@123
进阶:
php截取字符串第一个字符前的所有内容
$str = "admininfo@qq.com@123";
echo substr($str,0,strpos($str, '@'));
输出:admininfo
php截取字符串第一个字符前的所有内容
$str = "admininfo@qq.com@123";
echo substr($str,strpos($str,'@'))
输出:@qq.com@123
完事儿,希望能帮助到大家(进阶两个案例是查了文章找出来的,之前项目中有场景使用到的,亲测,挺好用的)。