我有一个for循环,我希望能够将结果回显成一个字符串。如何才能做到这一点?它只会将循环的最后一次运行回到我的变量中,以便在循环之外使用。
for ($i = 0; $i < $numItem; $i++) {
extract($cartContent[$i]);
$pricebands = array("1"=>"$pd_price1","2"=>"$pd_price2","3"=>"$pd_price3","4"=>"$pd_price4","5"=>"$pd_price5","6"=>"$pd_price6");
if(isset($loggedInfo['price'])){
$priceToShow = $pricebands[$loggedInfo['price']];
} else {
$priceToShow = $pricebands[1];
}
$productUrl = "index.php?c=$cat_id&p=$pd_id";
$subTotal += $priceToShow * $ct_qty;
$pd_name;
$ct_qty;
$productList = "L_NAME".$i."=".$pd_name."&L_AMT".$i."=".$priceToShow."&L_QTY".$i."=".$ct_qty."&";
}
$amount = $subTotal;
}
和将$ productList放入
的变量 $nvpstr="&PAYMENTACTION=$paymentType&AMT=$amount&".trim($productList)."CREDITCARDTYPE=$creditCardType&ACCT=$creditCardNumber&EXPDATE=".$padDateMonth.$expDateYear."&CVV2=$cvv2Number&FIRSTNAME=$firstName&LASTNAME=$lastName&STREET=$address1&CITY=$city&STATE=$state&ZIP=$zip&COUNTRYCODE=$countryCode&CURRENCYCODE=$currencyCode";
答案 0 :(得分:5)
每次循环时都要重置$ productList。你想添加它,而不是设置它:
$productList .= 'new stuff...';
在循环之前,将变量设置为空字符串,您将在其中添加更多字符:
$productList = '';
答案 1 :(得分:0)
String Concatenation或implode。
我对你想要加入的确切字符串感到有点困惑,没有回声。
for ($i = 0; $i < $numItem; $i++) {
extract($cartContent[$i]);
$pricebands = array("1"=>"$pd_price1","2"=>"$pd_price2","3"=>"$pd_price3","4"=>"$pd_price4","5"=>"$pd_price5","6"=>"$pd_price6");
if(isset($loggedInfo['price'])){
$priceToShow = $pricebands[$loggedInfo['price']];
} else {
$priceToShow = $pricebands[1];
}
$productUrl = "index.php?c=$cat_id&p=$pd_id";
$subTotal += $priceToShow * $ct_qty;
$pd_name;
$ct_qty;
$productList .= "L_NAME".$i."=".$pd_name."&L_AMT".$i."=".$priceToShow."&L_QTY".$i."=".$ct_qty."&";
}
$amount = $subTotal;
}