我正在学习如何在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
。对于成功的SELECT
,SHOW
,DESCRIBE
或EXPLAIN
查询mysqli_query()
将返回一个mysqli_result
对象。对于其他成功的查询,mysqli_query()
将返回TRUE
。a
mysqli_result
和TRUE
都是真实的,但是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/