2011-10-11 99 views
0

我想在数据库表的一行中插入下面的复选框,但有错误,如何解决? (我不能在名称复选框更改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); 

错误:

A PHP Error was encountered
Severity: Notice
Message: Undefined offset: 0
Filename: residence.php
Line Number: 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" 
    } 
} 
+0

您是否尝试打印$ service_un数组:'print_r($ service_un);'? – lc2817

+0

你需要提高你的**书面英语**,这是很难理解你的问题。 – Jakub

+0

请在帖子中看到我的更新(输出vardump)。 –

回答

1

错误说你的偏移量等于0 propably您$idx == 0$service_un[$idx] == null;)

编辑

,因为我以为$idx == 0造成不确定的json_encode尝试偏移量为0,以重新编制您$service_un阵列(如果你不能改变的在HTML 5),使其与0例子开始:

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

它看起来像:

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

请参阅我的更新(输出vardump)后 –

+0

好的,请打印'var_dump($ name_un)' – veritas

+0

请查看我的帖子获取'var_dump($ name_un)' –

0

$service_un只有一个偏移,它的五(5),所以0是未定义在这里。