代码按预期工作,但仍然警告

时间:2015-08-18 16:15:36

标签: php html json

我正在打印JSON文件中的数据。

这是我打印的字符串:

$industry = $data->response->result->Candidates->row[$i]->FL[4]->content;

FL值的某些键不存在。它的工作正常,因为我有一个句子可以照顾它。

<? if (!is_null($industry) == true): ?>
      <td><? echo $industry; ?></td>
<? else: ?>
      <td><? echo ' '; ?></td>
<? endif; ?>

但它仍然给我带来了奇怪的错误。我认为我的if句子会完全消除这两个,但是没有:

  

注意:未定义的偏移量:4

     

注意:尝试在

中获取非对象的属性

2 个答案:

答案 0 :(得分:1)

您收到的通知均来自以下一行:

$industry = $data->response->result->Candidates->row[$i]->FL[4]->content;

为了避免这种情况,你要检查索引是否存在:

$FL = $data->response->result->Candidates->row[$i]->FL;
$industry = array_key_exists(4, $FL) ? $FL[4]->content : null;

然后你可以检查:

if ($industry) {
    //do something crazy when $industry is present.
} else {
    //do something crazy when $industry was not present.
}

答案 1 :(得分:1)

Notice: Undefined offset: 4表示您的数组没有密钥4.您可以使用isset检查

 if (isset($data->response->result->Candidates->row[$i]->FL[4])) {
   $industry = $data->response->result->Candidates->row[$i]->FL[4]->content;
 }