最近做的一个项目中有这样的一个需求,接收对方传递过的两个数据格式是这样的:数据1+!@!+数据2;
那么问题来了我要根据这个!@!截取前后的数据,首先我就想到strripos()和substr();于是产生了方法1:
substr()函数返回字符串的一部分。
strripos()函数查找字符串在另一字符串中最后一次出现的位置(不区分大小写)
$data = '123!@!456';
$result1 = substr($data,strripos($data,"!@!")+1);
$result2 = substr($data,0,strrpos($data ,"!@!"));
echo $result1; echo "\n"; echo $result2;
输出结果:
@!456
123
很显然我们只能拿到!@!前面的数据后面的数据是拿不到的,这时候我就想到了另一个方法竟然!@!是固定的那我根据!@!进行切割成数组行不行呢?说干就干
$data = "123!@!456"
$result = explode("!@!",$data);
var_dump($result);
输出结果:
array(2) {
[0]=> string(3) "123"
[1]=> string(3) "456"
}
这样我就用最简单的方法轻易的拿到想要的数据。
有时候生活也是这样如果一个方法行不通可以适当的换个思路换个角度也许你就会发现其实很简单。
如果大家有其他的方法欢迎评论,有什么问题也欢迎留言,我会尽我最大的能力给你解答。
发表评论 取消回复