2011-05-27 127 views
1

在我当前的项目中,我需要将循环内容添加到稍后可以使用的数组中。这是我的代码。我尝试了一些方法,但他们不工作。任何人都可以给予帮助,以解决它:如何将循环内容添加到php中的数组中

for($i=0;$i<$max;$i++) { 
    $pid = $_SESSION['cart'][$i]['productid']; 
    $q = $_SESSION['cart'][$i]['qty']; 
    $pname = get_product_name($pid); 

    if($q == 0) { 
     continue; 
    } else { 
     $j = $i+1; 
    } 

我需要的$pid添加到一个数组,我应该能够使用implode(",", $pid)

感谢

回答

1
$pids=array(); 
for($i=0;$i<$max;$i++){ 
    $pid=$_SESSION['cart'][$i]['productid']; 
    $pids[]=$pid; 
    $q=$_SESSION['cart'][$i]['qty']; 
    $pname=get_product_name($pid); 
    if($q==0){ 
    continue; 
    }else{ 
    $j = $i+1; 
    } 
} 
echo implode(' - ',$pids); 

你应该更清楚一点你的最终结果应该是什么,我可以更具体一点

+0

非常感谢队友,你的方法是否正常工作,这就是我真正需要的:)谢谢 – Mujahid 2011-05-27 06:38:18

0

initialiaze $ PID为数组第一

$pid = array(); 

现在在循环中的值添加到它

$pid[] =$_SESSION['cart'][$i]['productid']; 

注意方括号与PID

你的循环后,可以从$ PID提取值

$someValue = $pid[0] * something'; 

我希望这是什么ü正在寻找

+0

其实我需要一个输出喜欢的$ id = 10,12,13 我想你的队友,但它不是我想要的东西 – Mujahid 2011-05-27 06:34:34

+0

你只需要在发生内爆$ PID变量,我给你一个根埃里克答案,所以你可以理解的概念 – Ibu 2011-05-27 06:44:43

+0

是的,我得到的答案队友,感谢很多 – Mujahid 2011-05-27 06:46:10

2

你只是想说这个吗?

$pids = array(); 
for($i=0;$i<$max;$i++) 
{ 
    $pid=$_SESSION['cart'][$i]['productid']; 
    $q=$_SESSION['cart'][$i]['qty']; 
    if($q==0) 
    { 
     continue; 
    } 
    // optimization... don't do anything if quantity is 0. 
    $pids[] = $pid; 
    $pname=get_product_name($pid); 
} 
echo implode(',', $pids); 
+0

约翰,你的回答也非常完美 – Mujahid 2011-05-27 06:41:26

0
$pids = array(); 

foreach ($_SESSION['cart'] as $cart) 
{ 
$pids[] = $cart['productid']; 
} 

这将让你一个$的PID阵列。

0

我建议你初始化数组您的PID

$arr_pids = array()

,你想一个PID添加到这个阵列每次只需使用

array_push($arr_pids, $pid)

相关问题