如何在 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
好的,我有一个 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