Ошибка Неопределенное смещение - PullRequest
0 голосов
/ 12 октября 2011

Я хочу вставить следующий флажок в строку из таблицы базы данных, но есть ошибка, как это исправить?(Я не могу изменить 5 в имени, флажок)

<input type="checkbox" name="checkbox_units_a[5][]" value="tv">
<input type="checkbox" name="checkbox_units_a[5][]" value="radio">

$name_un = $this -> input -> post('name_units_a');
$service_un = $this -> input -> post('checkbox_units_a');
$data3 = array();
foreach($name_un as $idx => $name) {
    $data3[] = array(
    'name_un' => $name_un[$idx],
    'service_un' => json_encode($service_un[$idx]), ); //This is line 210
};
$this -> db -> insert_batch('hotel_units', $data3);

Ошибка:

Обнаружена ошибка PHP
Серьезность: Уведомление
Сообщение: неопределенное смещение: 0
Имя файла: Residence.php
Номер строки: 210

Мой вывод в var_dump из $name_un:

array(1) {
    [0] = > string(6)"accessories"
}

Мой вывод вvar_dump от $service_un:

array(1) {
    [5] = > array(2) {
        [0] = > string(15)"tv" [1] = > string(12)"radio"
    }
}

Ответы [ 2 ]

1 голос
/ 12 октября 2011

Ошибка говорит о том, что ваше смещение равно 0, вероятно, ваши $idx == 0 и $service_un[$idx] == null;)

EDIT

Как я и думал, $idx == 0 вызывает неопределенное смещение 0 в json_encode, попробуйте переиндексировать массив $service_un (если вы не можете изменить 5 в HTML), чтобы он начинался с 0 пример:

$service_un = array_values ( $service_un ); // reindexing array

это будет выглядеть так:

array(1) {
  [0] => array(2) {
    [0] => string(2) "tv"
    [1] => string(5) "radio"
  }
}
0 голосов
/ 12 октября 2011

$service_un имеет только одно смещение, и это пять (5), поэтому 0 здесь не определено.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...