gpt4 book ai didi

PHP:if($result = someFunction()) 是如何工作的?

转载 作者:行者123 更新时间:2023-11-29 03:54:00 28 4
gpt4 key购买 nike

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

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

这个声明在说什么?我认为它说的是:

1. 设置$result等于mysqli_query($link, $query)
2. 如果 $result 不为空(即 mysqli_query 方法返回了一些东西),则执行 if block 。

如果我的想法是正确的,$result 是否可以在 if block 之外使用?

最佳答案

这是一样的

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

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

本质上意味着“如果 mysqli_query 的结果是真实的,那么做一些事情。如果失败,不要做,因为 $result 将是虚假。”。

根据mysqli_query documentation :

Returns FALSE on failure. For successful SELECT, SHOW, DESCRIBE or EXPLAIN queries mysqli_query() will return a mysqli_result object. For other successful queries mysqli_query() will return TRUE.

mysqli_resultTRUE 都是真值,但是FALSE 显然不是。因此,如果查询正常,它只会进入 if block 。

是的,$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:if($result = someFunction()) 是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25610910/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com