Этот вопрос конкретно относится к моему опыту работы с PHP, но нет никаких причин, по которым он не должен применяться к другим языкам.
Установив ERROR_REPORTING(E_ALL);
во время тестирования, я заметил, что у меня есть некоторые уведомления, такие каккак Notice: Undefined offset: 0 in ChrisW/public_html/admin.php on line 122
.Это происходит, когда я сохраняю предупреждения о форме (незаполненные значения, недопустимые значения и т. Д.) В массиве, а затем обращаюсь к ним:
echo $errorsArray[0] . '<label for="name" id="name-label">Your Name</label>
<input id="name" name="name" value="' . $name . '" />';
с моим массивом ошибок, равным $errorsArray = array($nameError, $emailError);
, в моей функции проверки.Когда страница загружается в первый раз, я показываю форму:
if(count($_POST) == 0)
{
$name="";
$email="";
$errorsArray = array();
form_display($name, $number, $errorsArray);
}
В идеальном мире:
- имеет ли значение уведомление?
- Я инициализирую массив, выполнив
$errorsArray("","");
или - Должен ли я проверять, является ли массив пустым, когда я на него ссылаюсь (например, путем изменения
echo $errorsArray[0]
на echo (count($errorsArray[0])==0 ? "" : $errorsArray[0])
?
Надеюсь, будет довольно черно-белый ответ - я не хочу вызывать долгую дискуссию!