如何在PHP变量中存储foreach变量结果

时间:2018-09-04 12:15:13

标签: php html cakephp-2.0

我只想将HTML数据存储在PHP变量中。但是问题在于数据还包含一个PHP函数

 $CartItem = "<table style='width:100%'>
<tr>
<th style='text-align:left;'><strong>Code</strong></th>
<th style='text-align:left;'><strong>ItemName</strong></th>
<th style='text-align:right;'><strong>Quantity</strong></th>
</tr>". foreach ($_SESSION["cart_item"] as $item){ .
 "
<tr>
<td style='text-align:left;border-bottom:#F0F0F0 1px solid;'>" .echo $item["ItemCode"]; ."</td>
<td style='text-align:left;border-bottom:#F0F0F0 1px solid;'><strong>" .echo $item["ItemName"];."</strong></td>
<td style='text-align:right;border-bottom:#F0F0F0 1px solid;'>". echo $item["quantity"];."</td>
</tr>".
} ."


 </table>"; 

我只想使用PHP foreach循环创建HTML代码并将其存储在$CartItem中。

请帮助我提供正确的代码。

我的代码有错误

  

(!)解析错误:语法错误,意外的“ foreach”(T_FOREACH)在   C:\ wamp \ www \ drupal-7.38 \ shoppingcart \ initiateOrder \ index.php在线   70

3 个答案:

答案 0 :(得分:2)

请勿将您的foreach连接到字符串;

$CartItem = "<table style='width:100%'>
<tr>
<th style='text-align:left;'><strong>Code</strong></th>
<th style='text-align:left;'><strong>ItemName</strong></th>
<th style='text-align:right;'><strong>Quantity</strong></th>
</tr>";
foreach ($_SESSION["cart_item"] as $item){
  $CartItem .= "
  <tr>
  <td style='text-align:left;border-bottom:#F0F0F0 1px solid;'>" . $item["ItemCode"] ."</td>
  <td style='text-align:left;border-bottom:#F0F0F0 1px solid;'><strong>" . $item["ItemName"] ."</strong></td>
  <td style='text-align:right;border-bottom:#F0F0F0 1px solid;'>".  $item["quantity"] ."</td>
  </tr>";
}

$CartItem .= "</table>";

答案 1 :(得分:2)

这是连接的正确方法:

<?php
$CartItem = "<table style='width:100%'>
<tr>
<th style='text-align:left;'><strong>Code</strong></th>
<th style='text-align:left;'><strong>ItemName</strong></th>
<th style='text-align:right;'><strong>Quantity</strong></th>
</tr>"; 

foreach ($_SESSION["cart_item"] as $item) {

$CartItem .= "
<tr>
<td style='text-align:left;border-bottom:#F0F0F0 1px solid;'>" . $item["ItemCode"] ."</td>
<td style='text-align:left;border-bottom:#F0F0F0 1px solid;'><strong>" .  $item["ItemName"] . "</strong></td>
<td style='text-align:right;border-bottom:#F0F0F0 1px solid;'>" . $item["quantity"] . "</td></tr>";

} 

$CartItem .= "</table>";

echo $CartItem;
?>

答案 2 :(得分:1)

您误用了串联。不要串联foreachecho

$CartItem = "<table style='width:100%'>
<tr>
<th style='text-align:left;'><strong>Code</strong></th>
<th style='text-align:left;'><strong>ItemName</strong></th>
<th style='text-align:right;'><strong>Quantity</strong></th>
</tr>";
foreach ($_SESSION["cart_item"] as $item){ 

   $CartItem .= "
   <tr>
<td style='text-align:left;border-bottom:#F0F0F0 1px solid;'>" . 
$item["ItemCode"] ."</td>
<td style='text-align:left;border-bottom:#F0F0F0 1px solid;'><strong>" .
$item["ItemName"]."</strong></td>
<td style='text-align:right;border-bottom:#F0F0F0 1px solid;'>".  
$item["quantity"]."</td>
</tr>";
}


    $CartItem .="</table>";