php中explode的是什么类型的_小知识--PHP函数之explode

当空字符串使用 explode() 函数时 返回为 Array ( [0] => ) 而非 Array ( )

相应的 count() 值为 1 而非 0

checkbox提交过来一个数组,为了将数组中的值插入到SQL语句执行,需要将数组的键值使用逗号隔开:

index.html

1

2

3

2.php

$array = $_POST["select"];

$select = implode(",", $array);

echo $select;

?>

3.个checkbox全都选择提交后,输出的结果为:1,2,3,可以直接插入到SQL语句执行

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

$ids = '1,2,3,4';

$data = explode(',', $ids);

if($data){

foreach($data as $k=>$v){

// do sth

}

}

?>

正常情况下ids不为空,看代码也不会发现什么问题,因为有判断if(data);一般会认为已经做了空的处理。

但实际情况却是ids=null, data却不是空,会导致foreach里执行的代码出问题。

$ids = null;

$data = explode(',', $ids);

if($data){

print_r($data);

}else{

echo 'null';

}

?>

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

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

$ids = null;

$data = explode(',', $ids);

if(isset($data[0]) && $data[0]){

foreach($data as $k=>$v){

// do sth

}

}

?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值