2014-04-27 54 views
0

我有陣列,其中PHP爲每個arrray值第二環路陣列鍵復位

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

哪部分錯誤信息不清楚?你的問題是什麼?只有分享你得到一些錯誤消息不符合編程問題。你能解釋爲什麼你訪問一個數組在undedinfed索引0?那有什麼用? – hakre

回答

0

的問題是你的索引。該category_id數組從0開始,而product_id 從1開始。因此,在第二循環的第一次迭代,你真的把一個空到 array_values

錯誤消息框真正告訴你這個,看看之前的通知兩個警告。

相關問題