2014-07-02 126 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); –