如何在echo php中使用if语句

时间:2016-10-01 18:38:04

标签: php arrays

好的,所以我有一个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
 };
你可以帮我解决这个问题......

2 个答案:

答案 0 :(得分:1)

您可以使用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
//
?>

答案 1 :(得分:0)

您可以使用recursive functionarray walk recursive

执行此操作