1

阅读这个问题我想在使用时复制@Your Common Sense 的错误检查mysqli

$query="INSERT INTO testtable VALUES (23,44,56)";
$stmt_test->prepare($query);
$stmt_test->execute() or trigger_error($stmt_test->error); 
$stmt_test->close(); 

如何or工作?它的另一个使用示例

$fh = fopen($myFile, 'w') or die("can't open file");

它与使用 if 语句有什么不同,应该使用它吗?

4

2 回答 2

2

如果第一条语句返回false,则执行第二条语句。而已。

于 2013-08-12T20:16:55.707 回答
0

这通常是在编程语言中评估布尔“或”表达式的方式。如果您有一个涉及函数的语句:

if (a() or b()) { ... }

然后 PHP 计算出,如果a()返回 true,则无需评估第二个函数,因为无论第二部分的结果如何,整体结果都将为 true。我们可以使用这个技巧作为一个简单的if机制:

(operation_that_might_fail() or report_error());

在这里,我删除了ifaround 子句。这将像以前一样被评估 - 除了ORing 两个的结果然后被丢弃,因为我们不需要对它做任何事情。

为此,operation_that_might_fail()必须在成功时返回布尔值 true,否则返回 false。碰巧,许多 PHP 函数正是这样做的,所以我们经常可以使用这种方法。

旁注:虽然该语句or可以说更清晰,但 PHP 程序员往往更喜欢 operator ||。同样,and会照它说的做,但&&更常见。

于 2013-08-12T21:14:39.967 回答