Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 处理函数的错误返回。如果vs或vs三元运算符等_Php_Pdo - Fatal编程技术网

Php 处理函数的错误返回。如果vs或vs三元运算符等

Php 处理函数的错误返回。如果vs或vs三元运算符等,php,pdo,Php,Pdo,调用另一个函数来处理函数的错误返回的“最佳”方法是什么?例如,我有来自PDO的“$stmt->execute();”,我想知道查询执行何时失败 演示: 这将显示“abcd”。如果我将test()更改为true,则不会显示任何内容,因此所有4个方法都可以工作。但什么是“最好的”?如果所有方法在编程方式上都是相同的“正确”,那么对于PSR这样的编码标准,什么更常用、更好、更现代、可能更正确?也许还有更好的方法?在这个非常简单的例子中,我认为这确实是一个选择的问题。因为如果测试失败,只需执行一条语句,

调用另一个函数来处理函数的错误返回的“最佳”方法是什么?例如,我有来自PDO的“$stmt->execute();”,我想知道查询执行何时失败

演示:


这将显示“abcd”。如果我将test()更改为true,则不会显示任何内容,因此所有4个方法都可以工作。但什么是“最好的”?如果所有方法在编程方式上都是相同的“正确”,那么对于PSR这样的编码标准,什么更常用、更好、更现代、可能更正确?也许还有更好的方法?

在这个非常简单的例子中,我认为这确实是一个选择的问题。因为如果测试失败,只需执行一条语句,如果测试通过,则无需执行任何操作,因此所有内容都很容易放在一行中。除了最后一行以外的任何内容都很容易阅读,而且可能很好

然而,在大多数情况下,
true/false
测试的结果将导致不止一条语句。这个二进制分支是
if-else
构造的全部目的,所以我倾向于使用它

if(test()){
    statement1();
    statement2();
    ...
}else{
    statement3();
    statement4();
    ...
}

第一种方法最直观,最后一种最不直观。
if(test()){
    statement1();
    statement2();
    ...
}else{
    statement3();
    statement4();
    ...
}