Intereting Posts
Как получить идентификатор элемента в переменной PHP Разница между эхом и возвратом в php? Лучше ли иметь две отдельные пользовательские таблицы или одну? Не ожидая ответа от Guzzle Код ошибки GPG 2 разделение строки в php как массив Форма отправляется без обновления с помощью jquery / ajax, если страница имеет более одной формы Как начать новую строку HTML из PHP? возможно ли, если обратный вызов в параметре array_filter принимает параметр? Есть ли какая-либо встроенная функция PHP, которая генерирует встроенное исключение? Symfony 2 – Неустранимая ошибка: не удается переопределить класс SessionHandlerInterface в C: \ … \ app \ cache \ dev \ classes.php в строке 532 В PHP есть функция, которая возвращает массив, состоящий из значения ключа из массива ассоциативных массивов? время работы ресторана с таблицей базы данных в формате для чтения человеком с использованием php Как извлечь параметры URL на 404 Ошибка в PHP CakePHP 3 Необработанный SQL-запрос

Неопределенное смещение:

$result = db2_getsub( array('campaigns_id' => $this_id) ); if (!is_null($result)) { $numsub = 0; while ( $row = $result->fetch_object() ) { $numsub = $numsub +1; array_push($arrFornavn, $row->sub_name); array_push($arrEtternavn, $row->sub_code); } $formcountfld=$numsub; } else { $numsub=1; $formcountfld=1; } $i = 1; if (1==1) { for ($i = 1; $i <= $numsub; $i++) { ?> <div class="fieldrow_horz"> <div class="fieldgroup"> <input type="text" id="fornavn_<?= $i ?>" name="fornavn_<?= $i ?>" value="<?= $arrFornavn[$i-1] ?>" /> </div> <div class="fieldgroup"> <input type="text" id="etternavn_<?= $i ?>" name="etternavn_<?= $i ?>" value="<?= $arrEtternavn[$i-1] ?>" /> </div> </div> <?php } } else { ?> 

Я получаю сообщение об ошибке как Notice: Undefined offset: 0 может кто-нибудь помочь .thanks заранее ожидает ответа.

Related of "Неопределенное смещение:"

Это означает, что вы пытаетесь получить доступ к значению, которое не существует, которое в вашем случае равно $ arrEtternavn [0].

Небольшой пример:

 $array = array(); $array[1] = 'one'; $array[2] = 'two'; $array[4] = 'four'; echo $array[0]; // This will give a notice, $array[0] does not exist. echo $array[1]; // 'one' echo $array[2]; // 'two' echo $array[3]; // This will give a notice, $array[3] does not exist. echo $array[4]; // 'four' 

Очень простое исправление:

 value="<?= isset($arrEtternavn[$i-1]) ? $arrEtternavn[$i-1] : '' ?>" 

Это короткое elseif-> (условие)? if_True: if_False

Изменить: я хотел бы добавить, что уведомление не очень плохо. Никаких уведомлений не было бы лучше, но это не должно заставлять вас спать по ночам.

Мое предположение было бы так … В случае, когда $result пуст, вы устанавливаете $numsub = 1 в своем предложении else . Однако в этом случае вы не добавили ничего в массив. Однако ваш более поздний цикл определяет продолжающееся условие как $numsub <= 1 , поэтому он выполнит и попытается распечатать массив index 0, который из- $result что $result был NULL , не содержит, потому что массив пуст.

Изменение цикла for

 for ($i = 0; $i < $numsub; $i++) // Notice now strictly less than { <div class="fieldrow_horz"> <div class="fieldgroup"> <input type="text" id="fornavn_<?= $i+1 ?>" name="fornavn_<?= $i+1 ?>" ^^^^ ^^^^ value="<?= $arrFornavn[$i] ?>" /> ^^^ </div> <div class="fieldgroup"> <input type="text" id="etternavn_<?= $i+1 ?>" name="etternavn_<?= $i+1 ?>" ^^^^ ^^^^ value="<?= $arrEtternavn[$i] ?>" /> ^^^ </div> </div> 

Как предполагает Мартийн, вы всегда можете использовать isset() чтобы узнать, существует ли индекс массива. Из логики, которую вы реализовали, я думаю, вы пытаетесь заверить, что индекс массива в этом цикле фактически гарантированно установлен, поэтому я предполагаю, что описанная выше небольшая логическая ошибка вызывает проблему.

Надеюсь, поможет…