• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

php使用explode分割字符串新手容易忽略的问题的讲解

php 搞代码 4年前 (2022-01-22) 20次浏览 已收录 0个评论

1.explode方法说明

explode方法可以使一个字符串按某一个字符串作为边界点来分割成数组。

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

返回由字符串组成的数组,每个元素都是string的一个子串,被字符串delimiter作为边界点分割出来。

参数说明:
delimiter
边界上的分隔字符。

string
输入的字符串

limit
如果设置了limit参数并且是正数,则返回的数组最多包含limit个元素,而最后那个元素将包含string的剩余部分。
如果limit参数是负数,则返回除了最后的-limit个元素外的所有元素。
如果limit是0,则会被当做1。

2.例子

使用,分割字符串

<?php$str = '1,2,3,4,5,6,7,8,9';$arr = explode(',', $str);echo '<pre>';print_r($arr);echo '</pre>';?>

输出:

Array(    [0] => 1    [1] => 2    [2] => 3    [3] => 4    [4] => 5    [5] => 6    [6] => 7    [7] => 8    [8] => 9)

使用,分割字符串,limit为正数

<?php$str = '1,2,3,4,5,6,7,8,9';$arr = explode(',', $str, 5);echo '<pre>';print_r($arr);echo '</pre>';?>

输出:

Array(    [0] => 1    [1] => 2    [2] => 3    [3] => 4    [4] => 5,6,7,8,9)

使用,分割字符串,limit为负数

<?php$str = '1,2,3,4,5,6,7,8,9';$arr = explode(',', $str, -3);echo '<pre>';print_r($arr);echo '</pre>';?>

输出:

Array(    [0] => 1    [1] => 2    [2] => 3    [3] => 4    [4] => 5    [5] => 6)

使用,分割字符串,limit为0

<?php$str = '1,2,3,4,5,6,7,8,9';$arr = explode(',', $str,0);echo '<pre>';print_r($arr);echo '</pre>';?>

输出:

Array(    [0] => 1,2,3,4,5,6,7,8,9)

3.容易忽略的问题

一般我们会使用explode来分割id字符串之类的数据

<?php$ids = '1,2,3,4';$data = explode(',', $ids);if($data){    foreach($data as $k=>$v){        // do sth    }}?>

正常情况下ids不为空,看代码也不会发现什么问题,因为有判断if(data);一般会认为已经做了空的处理。
但实际情况却是ids=null, data却不是空,会导致foreach里执行的代码出问题。

<?php$ids = null;$data = explode(',', $ids);if($data){    print_r($data);}else{    echo 'null';}?>

因为ids=null,使用explode分割,得出的数组是Array ( [0] => )而不是Array()

所以判断需要修改一下才能避免问题发生

<?php$ids = null;$data = explode(',', $ids);if(isset($data[0]) && $data[0]){    foreach($data as $k=>$v){        // do sth    }}?>

本文讲解了php使用explode分割字符串新手容易忽略的问题,更多相关内容请随时关注我们网站!

相关推荐:

关于mysql互换表中两列数据方法的讲解

如何通过php生成0~1随机小数方法

关于mysql 时间戳格式化函数from_unixtime的使用说明

以上就是php使用explode分割字符串新手容易忽略的问题的讲解的详细内容,更多请关注搞代码gaodaima其它相关文本¥文来源gaodai$ma#com搞$代*码*网(搞代gaodaima码章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:php使用explode分割字符串新手容易忽略的问题的讲解
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址