Php If-else语句和else-If语句
PHP中的新功能Php If-else语句和else-If语句,php,Php,PHP中的新功能 此语句有错误吗? 我只想显示如果价格=0,那么是免费的, 否则显示正常价格, 否则,如果折扣价格为空,则不执行任何维护价格操作, 否则有折扣价格,然后显示折扣价格 <?php if($value->price_value == 0 || '' ){ echo "Free"; } else { echo $formatted_price; } else if(empty($discount_price)){
此语句有错误吗?
我只想显示如果价格=0,那么是免费的,
否则显示正常价格,
否则,如果折扣价格为空,则不执行任何维护价格操作,
否则有折扣价格,然后显示折扣价格
<?php
if($value->price_value == 0 || '' ){
echo "Free";
} else {
echo $formatted_price;
} else if(empty($discount_price)){
echo '';
}else{
echo $discount_price;
}
?>
不知道你想做什么。但以下是基于您上面所写内容的正确语法
<?php
if($value->price_value == 0 || $value->price_value == '' ){
echo "Free";
} else {
echo $formatted_price;
}
if(empty($discount_price)){
echo '';
}else{
echo $discount_price;
}
?>
您可能想尝试以下方法:
<?php
// assuming $value->price_value is a numeric
if($value->price_value > 0){ # check first if price greater than 0
if ($discount_percent_amount > 0) { # discounted percent amount is greater than 0
// calculate the discounted price
echo $value->price_value * $value->discount_percent_amount ;
}else{ # display product price
echo $value->price_value;
}
}else{ # free product
echo "Free";
}
?>
注意:如果使用php中的
is\u numeric()
函数筛选所有使用的变量,最好在继续执行条件语句之前进行筛选。您的逻辑不清楚。代码的直接问题是,在else
条件之后不能有任何内容。您希望/希望在此处计算多少echo
语句?无需粗鲁。而是回答您需要多少echo。这是一个有效的问题,可以找出你方法中的缺陷。我认为您的伪代码应该是:那么如果没有折扣…
。在真正的代码中,您不需要then
。这意味着您只需在if
之前删除else
。
<?php
// assuming $value->price_value is a numeric
if($value->price_value > 0){ # check first if price greater than 0
if ($discount_percent_amount > 0) { # discounted percent amount is greater than 0
// calculate the discounted price
echo $value->price_value * $value->discount_percent_amount ;
}else{ # display product price
echo $value->price_value;
}
}else{ # free product
echo "Free";
}
?>