检查数组是否为空似乎不起作用

时间:2017-01-03 14:30:36

标签: php arrays

简单数组和简单检查是否是数组或对象..当没有数组数据而不是显示No时页面崩溃。这是数组

$url=get_curl_content_tx("https://example.com");

$arr = json_decode($url, true);     
if (is_array($arr['outputs']) || is_object($arr['outputs'])) {
         echo 'Yes';
} 
else { 
         echo 'No';
}

如果我收到fail,即网址中没有数据且$arr['outputs']为空,我就会有空白页

  

未定义的索引:输出

而不是No。不if (is_array($arr['outputs']) || is_object($arr['outputs']))检查是否为数组?

如果$arr['outputs']中有数据,一切都很好。

2 个答案:

答案 0 :(得分:2)

在引用之前,您需要使用issetarray_key_exists检查$arr数组中存在的密钥。

if (isset($arr['outputs']) && is_array($arr['outputs'])) {

答案 1 :(得分:1)

您想要访问一个不存在的数组,无论您以前使用什么功能,都会给您一个错误。要解决此问题,请首先检查数组是否存在isset()

if(isset($arr)) {
   // Just gets executed if the array exists ans isn't nulll
} else {
   // Array is null or non-existend
}

然后在if-else

中添加您的代码