我正在打印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
注意:尝试在
中获取非对象的属性
答案 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;
}