【发布时间】:2011-12-04 05:58:44
【问题描述】:
我正在寻找使用布尔/字符串处理返回语句的正确方法。例如,我在函数内部进行了所有检查,如果全部通过,则返回 true。但是,如果出现问题,我想返回一个错误字符串,而不仅仅是返回 false;带有一般字符串。如果 var 设置为 true 以外的任何值,php 是否会假定为 false?处理这个问题的正确方法是什么?这是我正在做的一个例子
<?php
$a = 2;
$result = CheckVar($a);
if ($result)
{
echo 'Correct!';
}
else
{
echo $result;
}
function CheckVar($var)
{
if ($var == 1)
{
return true;
}
else
{
return 'This is not the correct answer. You supplied '.$var;
}
}
?>
看来这个方法行得通,但是这是好的编程礼仪吗?还是我应该这样做的另一种方式?感谢您的宝贵时间。
【问题讨论】:
-
您需要了解 PHP(也适用于 JavaScript)中的 falsy 值。 stackoverflow.com/questions/699507/…
-
@zzzzBov 异常是昂贵的。除非您有充分的理由,否则不要抛出异常。
-
@NullUserExceptionఠ_ఠ,不要过早优化。是的,使用许多例外可能代价高昂。
-
@zzzzBov 使用异常也会丑化你的代码。如果“答案不正确”,IMO 抛出异常是 no 有意义的。异常应该用于处理不符合预期的代码 - 因此名称为“异常”。你完全认为答案是错误的。
-
我会知道的。毕竟,我是
Exception:)