<?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) {
}
}使用 php isset 遇到的问题
最新推荐文章于 2026-06-17 20:06:02 发布
本文探讨了PHP中isset函数的使用细节及其在处理JSON解码后的数据时可能遇到的问题。通过具体示例说明如何避免因数据类型判断不准确而导致的运行时错误。
806

被折叠的 条评论
为什么被折叠?



