我有数组
category_id[0]
属于product_id[1]
数组
和
category_id[1]
属于product_id[2]
数组
我运行一个foreach循环和内部foreach我使用array_values重置
我得到了错误:
Notice: Undefined offset: 0 in
Warning: array_values() expects parameter 1 to be array, null given in
Warning: Invalid argument supplied for foreach()
下面是数组:
[category_id] => Array
(
[0] => cat1
[1] => cat2
)
[product_id] => Array
(
[1] => Array
(
[1] => prod1
[2] => prod2
[3] => prod3
)
[2] => Array
(
[2] => prod4
[3] => prod5
)
)
<?
foreach($_REQUEST['category_id'] as $key=>$value)
{
if(!empty($value))
{
mysql_query( "insert into category(category_id) values('".$_REQUEST['category_id'][$key]."')");
$cat_id = mysql_insert_id();
echo mysql_error();
foreach(array_values($_REQUEST['product_id'][$key]) as $key1=>$value1)
{
mysql_query("INSERT INTO `product` (category_id,`prod_id`) VALUES ('".$cat_id."','".$value1."')");
}
}
}
?>
答案 0 :(得分:0)
问题在于你的索引。 category_id
数组从0开始,而product_id
数组
从1开始。因此,在第二个循环的第一次迭代中,您确实将null置于其中
array_values
错误消息确实告诉了您,请在两个警告之前查看通知。