Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/279.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.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返回数组或-1_Php_Mysql - Fatal编程技术网

PHP返回数组或-1

PHP返回数组或-1,php,mysql,Php,Mysql,我想要这样的东西: if (($sqlResult = returnArrayAfterSQLResult(...)) != -1) { getRow($sqlResult); /* ... */ } else { /* handling error */ } 一切都很好,但我知道这不是100%正确的,我返回mysqli数组,如果它是正常的或-1,如果有问题。我还收到服务器的通知:注意:类mysqli_result的对象无法在中转换为int 那么你怎么看呢?PHP不是类型安全的。因

我想要这样的东西:

if (($sqlResult = returnArrayAfterSQLResult(...)) != -1) {
  getRow($sqlResult);
  /* ... */
} else {
  /* handling error */
}
一切都很好,但我知道这不是100%正确的,我返回mysqli数组,如果它是正常的或-1,如果有问题。我还收到服务器的通知:注意:类mysqli_result的对象无法在中转换为int


那么你怎么看呢?

PHP不是类型安全的。因此,您需要将返回值转换为int,或者重新考虑返回的值。例如,result对象或false。

从函数返回不同的数据类型是完全可以的(很多内置函数都可以这样做),这也是PHP允许的一件好事。返回资源或整数是不常见的;资源/<代码> false 或Realth/<代码> null 是更常见的选项,也是您应该考虑的选项。

也就是说,代码中的通知是由于与
进行了比较=。如果不更改错误返回类型,请使用
==改为:

if (($sqlResult = returnArrayAfterSQLResult(...)) !== -1)

这将阻止PHP尝试将资源转换为整数。

如果您收到此通知,则说明它工作不正常。请尝试使用
==而不是
=