使用 php isset 遇到的问题

<?php
isset
检测变量是否设置,且不是null,注意'\0'不是null


ps:
对数组中的元素同样有效 isset($arr['key'])


问题来了,字符串也可用数组偏移量的方式访问
$str[0],$str[1]


看看实际中会遇到什么问题


$url = 'xxx';
$httBody = http_get($url); //
/*
$httBody = <<<EOF
'<html>
<head><title>400 Bad Request</title></head>
<body bgcolor="white">
<center><h1>400 Bad Request</h1></center>
<hr><center>nginx/1.2.9</center>
</body>
</html>'
EOF;
*/
$data = json_decode($httBody, true);//string
if (isset($data['data'])) { //5.4之前为true
    //process data
    foreach ($data['data'] as $row) { // warning


    }
}


可以用is_array提高兼容性
$data = json_decode($httBody, true);
if (is_array($data)) {
    foreach ($data['data'] as $row) {


    }
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值