2013-12-09 46 views
-1

我試圖在我的項目中創建一個購物籃,但有些問題需要處理。 我的項目購物籃必須允許重複值,但我的代碼自動複製最後插入數組。爲什麼會發生這種情況,以及如何解決這個自動複製?爲什麼汽車在我的陣列中重複價值

<?php 

if(isset($_SESSION['basket'])){ 

    $point = count($_SESSION['basket']); 
    echo " point = ".$point; 
    $value = end((array_keys($_SESSION['basket']))); 
    $value++; 
}else{ 
    $value = 0; 
    echo " point = 0"; 
} 

    if(isset($_GET['id'] , $_GET['meter'] , $_GET['color'])){ 
     $id = $_GET['id']; 

     $color = $_GET['color'];  

     $meter = $_GET['meter'];  

     $selected_product = array($id , $color , $meter); 

     list($_SESSION['basket'][$value][0],$_SESSION['basket'][$value][1] , $_SESSION['basket'][$value][2]) = $selected_product; 
     echo "<pre>"; 
     var_dump($_SESSION['basket']); 
     echo "</pre>"; 


    } 


?> 
+0

你什麼時候開始你會?你也使用'array()'而不是'list()'。 '數組($ foo,$ bar)= $ array'是無效的代碼。 'list($ foo,bar)= $ array'不是。 – h2ooooooo

+0

'array(...)= $ value'沒有意義......這是一個平坦的解析錯誤,這個腳本可能永遠不會按原樣工作。 –

+0

@ h2ooooooo在發佈代碼時,我將「列表」更改爲「數組」,並忘記返回「列表」,請問 和會話在其他地方開始,代碼爲 – user3082533

回答

1

雖然它不完全清楚你的問題。爲了消除重複在array使用array_unique()

你也有一個錯字在

array($_SESSION['basket'][$value][0],$_SESSION['basket'][$value][1] , $_SESSION['basket'][$value][2]) = $selected_product; 
+0

是的,我改變代碼而忘記漚甕 list($ _ SESSION ['basket'] [$ value] [0],$ _ SESSION ['basket'] [$ value] [1],$ _SESSION ['basket'] [$ value] [2]) = $ selected_product; – user3082533