我正在学习如何在PHP中使用MySQL,当学习如何在数据库中调用SQL查询时,我看到过程方法包含以下if语句:

if($result = mysqli_query($link, $query))

这句话是什么意思?我想它说的是:
一。将$result设置为mysqli_query($link, $query)
2。如果$result不为空(即mysqli_query方法返回了一些内容),则执行If块。
如果我所想的是真的,$result是否可以在If块之外使用?

最佳答案

这和

$result = mysqli_query($link, $query);

if ($result) { // If $result is truthy
    // Stuff
}

本质上是指“如果mysqli_query的结果是真的,那么就做点什么。如果失败了,不要这样做,因为$result将是错误的。
根据mysqli_query documentation
失败时返回FALSE。对于成功的SELECTSHOWDESCRIBEEXPLAIN查询mysqli_query()将返回一个mysqli_result对象。对于其他成功的查询,mysqli_query()将返回TRUE
amysqli_resultTRUE都是真实的,但是FALSE显然不是。因此,只有查询正常时,它才会进入if块。
是的,$result将在if查询之外可用,正如上面的示例所示。
A live demo demonstrating an object converted to a bool (it will be TRUE)
<?php

$object = (object)array('foo' => 'bar');

var_dump($object); // object(stdClass)#1 (1) { ["foo"] => string(3) "bar" }

var_dump((bool)$object); // bool(true)

关于php - PHP:if($ result = someFunction())如何工作?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25610910/

10-11 03:19
查看更多