2014-07-02 163 views
0

我知道這很容易,但它真的讓我困惑,我的錯誤在哪裏。需要幫助在foreach循環

我有一個數組:

<?php 
$array=array("prod1=>1; prod2=>2; product=>3"); 
foreach($array as $prod => $value){ 

    $prod = "Expected value prod1"; 
    $value = "Expected value 1"; 
} 
?> 

,但它再次returing陣列..

請幫我

+2

添加大括號 – Phantom

+1

這不是如何創建數組。您正在創建一個只有一個字符串的數組,而不是三個單獨的鍵值條目。 http://php.net/manual/en/language.types.array.php – deceze

+0

我只是不明白你想做什麼。你不能像這樣創建一個數組。 – Kvasir

回答

1
<?php 
     $array=array("prod1"=>1, "prod2"=>2, "product"=>3); 
     foreach($array as $prod => $value){ 

     echo $prod; 
     echo ' -> '; 
     echo $value; 

     echo '<br>'; 
     } 
    ?> 

輸出將是:

prod1 -> 1 
prod2 -> 2 
product -> 3 

你的聲明數組錯了。祝一切順利。!

+0

是否可以自動添加數組值 $ cart_arr =「'$ productid'=> $ qty,」。$ cart_arr; $ _SESSION ['cart_arr'] = array($ cart_arr); –

+0

您可以使用array_push在數組中添加新值。 $ A =陣列( 「紅」, 「綠」); array_push($ a,「blue」,「yellow」);你的數組將會是數組(「紅色」,「綠色」,「藍色」,「黃色」); –

1

你缺少一個右大括號。

foreach($a as $b) { 

// do stuff 

} 

二,你的數組是錯誤的。 如何創建磁盤陣列:

$new = array(1=>'one', 2=>'two', 3=>'three'); 
0

創建一個數組以正確的方式是這樣的:

$array=array('prod1'=>1 , 'prod2' =>2 , 'product'=>3); 
+0

可以自動添加數組$ cart_arr =「'$ productid'=> $ qty,」。$ cart_arr; $ _SESSION [ 'cart_arr'] =陣列($ cart_arr); –