自动计数金额与语法错误

时间:2013-11-07 06:14:52

标签: php

好的,我有一个如下所示的脚本:

$i = 0;

foreach($_SESSION['cart'] as $id => $quantity) {

     $photo + ++$i =$pwinty->addPhoto($order, $_SESSION['size'][$id], $row['source'], $quantity, "ShrinkToFit");
}

基本上我有一个变量i,从0开始,如果可能,每次将新$photo添加到“列表”时都会增加。所以基本上上面需要变成:

$photo1 = ...
$photo2 = ...
$photo3 = ...

现在,$photo行设置了。脚本运行时,我收到以下错误:

Parse error: syntax error, unexpected '=' ...

我猜我需要将这一行连接在一起,但我不确定。感谢您的帮助。

4 个答案:

答案 0 :(得分:0)

试试这个,

$i=1;
$ph='photo';
foreach($_SESSION['cart'] as $id => $quantity) {
   $photo=$ph.$i;// will give 'photo1' at first
   // $photo1=...
   $$photo =$pwinty->addPhoto($order, $_SESSION['size'][$id], $row['source'], $quantity, "ShrinkToFit");
   echo $$photo; // echo $photo1
   $i++;
}

您可以create array每个变量都可以轻松访问,例如,

$photo=array();
$i=0;
foreach($_SESSION['cart'] as $id => $quantity) {
     $photo['photo'][$i++]=$pwinty->addPhoto($order, $_SESSION['size'][$id], $row['source'], $quantity, "ShrinkToFit");
}
print_r($photo);

答案 1 :(得分:0)

你真正想做的事情是如何完成的,但要注意这是非常糟糕的做法:

$i = 0;
foreach($_SESSION['cart'] as $id => $quantity) {
    ${'photo'.++$i} = $pwinty->addPhoto($order, $_SESSION['size'][$id], $row['source'], $quantity, "ShrinkToFit");
}
// how to output a photo:
if(isset($photo0)){
    echo $photo0;
}

这是不好的做法,因为它会产生很多变量并且效率低得多。你应该使用数组。

应该是这样的:

$photo = array();
$i = 0;
foreach($_SESSION['cart'] as $id => $quantity) {
    $photo[++$i] = $pwinty->addPhoto($order, $_SESSION['size'][$id], $row['source'], $quantity, "ShrinkToFit");
}
// for checking the content of the $photo array:
echo '<pre>';
print_r($photo);
echo '</pre>';
// example of how to access data from the array, where 0 is the first thing that got added, if anything was added:
if(isset($photo[0])){
    echo $photo[0];
}
// traverse the entire array:
foreach($photo AS $id => $p){
    echo 'id: '.$id.', photo: '.$p;
}

答案 2 :(得分:-1)

这:

$photo + ++$i =

在作业的左侧是非法的,因为它没有意义。

删除 ++ $ i 并转到下一行

<强>更新

尝试执行此操作:

<?php $photo + ++$i = 3; ?>

你会得到相同的语法错误。

  

解析错误:语法错误,第2行的C:\ PHP \ test.php中的意外'='

答案 3 :(得分:-2)

应该是这样的:

$i = 0;

foreach($_SESSION['cart'] as $id => $quantity) {

     $photo = $pwinty->addPhoto($order, $_SESSION['size'][$id], $row['source'], $quantity, "ShrinkToFit");
$i++;
}