如何在 echo php 中使用 if 语句

how to use an if statement inside echo php

好的,我有一个 for 循环可以显示书籍及其相关的销售信息...我可以正确显示它...我有一个 for 循环可以遍历数组并显示信息。我想做的是让 for 循环只显示有关精装书或平装书的信息,如果它们的值仅大于 0; 我试过在 echo 语句中放置一个 for 循环,但它给了我一个错误。 我觉得这与连接值的方式有关..无论如何这是我的for循环

function displayData($array){

  // create a form

 echo ' <form action="order_summary.php" method="post">';

 // for loop to go through data

  for($row = 0; $row < sizeof($array);$row++){

 echo '<div class="book-details"><img src="images/' . 
     $array[$row]['isbn'].'.jpg" alt="'.$array[$row]['title'] .'" >'. 
    '<br/>'.$array[$row]['title'].'<br/>by '.$array[$row]['author'].
    '<br/><input type="radio" name="orders['.$array[$row]['title'].
    ']" value="hardcover" >Hardcover: $'.$array[$row]['hardcover'].
    '<br/><input type="radio" name="orders['.$array[$row]['title'].
     ']" value="softcover" >Softcover: $'.$array[$row]['softcover'].
    '<br/><input type="radio" name="orders['.$array[$row]['title'].
    ']" value="e-book" >E-Book: $'.$array[$row]['e-book']."</div>";

 };

echo '<div class = "cart"><input  type="submit" value="Add Selected Items to Cart"></div>';

echo '</form>';

  }// end of function

我想包括这样的东西

if (!$array[$row]['hc-quantity']== 0) {
 // display hardcover price
}
else {
   go to the next book and repeat check for softcover
 };

你能帮我解决这个问题吗...

您可以使用 foreach 语法改进您的代码。您建议的 if 条件很接近,但 ! 运算符实际上作用于数组元素,而不是方程。

我还建议关闭 PHP 标签以生成 HTML,而不是使用 echo。然后使用 <?= ... ?> 在 HTML 中注入 PHP 值。对于 if 条件,您可以插入一些 <?php ... ?> 块。

这里是修改后的代码(for 循环):

<?php
// ... other code ...

foreach ($array as $item){
?>
<div class="book-details">
    <img src="images/<?=$item['isbn']?>.jpg" alt="<?=$item['title']?>"><br>
    <?=$item['title']?><br>
    by <?=$item['author']?><br>
<?php
if ($item['hc-quantity'] > 0) { 
?>
    <input type="radio" name="orders[<?=$item['title']?>]" value="hardcover">
        Hardcover: $<?=$item['hardcover']?><br>
<?php
}
if ($item['sc-quantity'] > 0) {
?>
    <input type="radio" name="orders[<?=$item['title']?>]" value="softcover">
        Softcover: $<?=$item['softcover']?><br>
<?php
}
?>
    <input type="radio" name="orders[<?=$item['title']?>]" value="e-book">
        E-Book: $<?=$item['e-book']?>
</div>
<?php
}

// ... more code
//
?>

你可以用 recursive function or array walk recursive