![](/img/trans.png)
[英]What is the wrong with “while($row = mysqli_fetch_assoc($result)){// }”?
[英]How $row =mysqli_fetch_assoc($result) ,is possible in php
我们知道我们不能在变量中存储函数
<?php
$k = echo("hello");
?>
要么
$k = unset($_SESSION['name']);
他们都会给错误。 因为我们不能将函数直接存储在变量中,而是如何使用。
$row = mysqli_fetch_assoc($result);
我知道mysqli_fetch_assoc()
函数输出一个存储在变量$row
的数组。 但是如何违反php的一般规则。 而且我们能够将函数存储在变量中
echo
和unset
并不是真正的功能。 如果查看文档,您会看到它说:
返回值
没有值返回
由于未返回任何值,因此无法将其分配给变量。
mysqli_fetch_assoc()
是一个普通函数。 与其他任何函数一样,您可以将其返回值分配给变量,或将其作为参数传递给另一个函数,或在表达式中使用它。
如果无法将函数值分配给变量,则将很难用PHP进行编程。 你不能写这样的东西:
$max = max($var1, $var2);
$current_time = time();
我们知道我们不能将函数存储在变量中
这是不正确的,但我稍后会再讲。
您误解了以下语法:
$variable = functionName();
这并不意味着该函数存储在变量中。 这意味着函数返回的值存储在变量中。
因此,没有什么特别的:
$row = mysqli_fetch_assoc($result);
正如我在一开始所暗示的那样,您还应该知道我们实际上可以将函数存储在变量中:
//store the function in variable $func
$func = function($a, $b){return $a + $b;}
//execute the function stored in variable $func
echo $func(2,8); //prints 10
这些类型的函数-没有名称的函数-称为匿名函数或闭包。 见手册
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.