我希望我的功能可以执行以下操作:
如果价格为0
,则返回free
条消息。
如果价格为正,请显示价格。
如果价格值不可用 - 例如:如果价格的数据库单元格为空,或者值为unknown
,则返回unavailable
消息。
所以我带了这段代码:
function get_rate($foo,$bar) {
if ($bar== "something") {
//$test= "testing";
} elseif ($foo== 0) {
$message = 'Free';
} elseif ($foo> 0) {
$message = '$'.$foo;
} else {
$message = 'Unavailable';
}
return $message;
}
HTML:
<?= get_rate( $price) ?>
但对于价值观:
$price="unknown";
或如果$price
为空,我仍然会收到“免费”消息。
答案 0 :(得分:2)
现在你有两个解决方案:
解决方案1:
else if ($foo === 0) // use === for checking value and datatype
解决方案2:
else if ($foo == 0 && $foo != null) // adding != null
将值""
或null
视为0,如果您还使用===
检查数据类型,则此问题将解决,否则请使用第二个解决方案。
在你发表评论之后,分享一个基本的例子,你会得到这个想法:
$foo = 'bla';
var_dump($foo);
它会给你string(3) "bla"