注意:未定义的索引
当您尝试通过数组中不存在的键访问数组时发生。
Undefined Index通知的典型示例是(演示)$data = array('foo' => '42', 'bar');echo $data['spinach'];echo $data[1];
数组中都存在spinach和1不存在,导致E_NOTICE触发。
解决方案是在访问该索引之前确保索引或偏移量存在。这可能意味着您需要修复程序中的错误,以确保这些索引确实存在。或者它可能意味着您需要使用array_key_exists或测试索引是否存在isset:$data = array('foo' => '42', 'bar');if (array_key_exists('spinach', $data)) {
echo $data['spinach'];}else {
echo 'No key spinach in the array';}
如果您有以下代码:<?php echo $_POST['message']; ?>
...
然后$_POST['message']在第一次加载该页面时,将不会设置,你会得到上述错误。只有在提交表单并且第二次运行此代码时,才会存在数组索引。您通常会检查以下内容:if ($_POST) .. // if the $_POST array is not empty// orif ($_SERVER['REQUEST_METHOD'] == 'POST') .. // page was requested with POST
相关问题: