如何关闭这些通知?或者甚至更好,正确地为它们编码?
示例:
$job_db_ready = array(
"email" => $this->profile['email'],
"company" => $job['company']['name'],
"position" => $job['title'],
"industry" => $job['company']['industry'],
"start_date_month" => $job['startDate']['month'],
"start_date_year" => $job['startDate']['year'],
"end_date_month" => $job['endDate']['month'], // Sometimes endDate undefined
"end_date_year" => $job['endDate']['year'], // Sometimes endDate undefined
"is_current" => $job['isCurrent']
);
此数组将返回
Severity: Notice
Message: Undefined index: endDate
答案 0 :(得分:2)
转换通知是一种不好的做法,因为它们可以提醒您可能出现的错误。相反,检查它们是否已定义,以及它们是否未分配默认值(包括null或空字符串):
"end_date_month" => (isset($job['endDate']['month']) ? $job['endDate']['month'] : ''),
"end_date_year" => (isset($job['endDate']['year']) ? ($job['endDate']['year'] : ''),
答案 1 :(得分:1)
1)更好的编码样式:在将变量分配给数组中的键之前,检查是否先使用isset
定义了变量。喜欢这个
isset($job['endDate']['month']) // Do something about it
2)转错:在做一些奇怪的事情之前在你的脚本中使用它
error_reporting(0);建议
1不是
答案 2 :(得分:0)