Случается, когда вы пытаетесь получить доступ к массиву с помощью ключа, который не существует в массиве.
Типичным примером для уведомления Undefined Index
будет ( demo )
$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 array';
}
Если у вас есть код например:
, тогда $_POST['message']
не будет установлена, когда эта страница будет загружена первой, и вы получите указанную выше ошибку. Только когда форма будет отправлена и этот код будет запущен во второй раз, будет существовать индекс массива. Вы обычно проверяете это с помощью:
if ($_POST) .. // if the $_POST array is not empty
// or
if ($_SERVER['REQUEST_METHOD'] == 'POST') .. // page was requested with POST
Вопросы, относящиеся:
Свойства на наборе файла для Компиляции?
Проверьте свойства своего проекта. На вкладке "Application" выберите Ваш Program
класс как объект Запуска:
Это нечетно. Ваша программа компилирует и работать успешно и только перестать работать на, 'Публикуют', или она перестала работать на каждой компиляции теперь?
кроме того, Вы, возможно, изменили свойства файла Build Action
на что-то другое, чем Compile
?
То, что я нашел, - то, что файл Program.cs не был частью решения. Я сделал добавление существующего объекта и добавил файл (Program.cs) назад к решению.
Это исправило ошибку: Ошибка 1 Программа '..... не содержит статический 'Основной' метод, подходящий для точки входа
Если у вас есть приложение WPF или Silverlight, убедитесь, что App.xaml имеет «ApplicationDefinition» в качестве действия BuildAction в свойствах файла.