首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当一个变量包含一个函数时,为什么它会自动执行PHP

当一个变量包含一个函数时,为什么它会自动执行PHP
EN

Stack Overflow用户
提问于 2011-02-15 18:57:12
回答 4查看 102关注 0票数 0

请考虑以下几点:

代码语言:javascript
复制
$result = mysql_query($sql);

为什么这会被执行?如果我写下这句话,我可以理解:

代码语言:javascript
复制
mysql_query($sql);

然后就被处死了?但变量的意义不就是“保存”东西,而不是执行它们吗?我说得太离谱了吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-02-15 19:01:15

如果您执行

代码语言:javascript
复制
mysql_query($sql);

函数的输出丢失,这在大多数情况下是不好的;-)

所以你想把一个函数的输出保存在一个变量中。运算符是"=“。

您应该考虑一下,通过键入

代码语言:javascript
复制
$x = 1 + 1;

您希望$x = 2;而不是将"1+1“作为字符串,这基本上是相同的效果。

票数 3
EN

Stack Overflow用户

发布于 2011-02-15 19:00:16

按照设计工作:将mysql_query()操作的结果分配给$result,您调用该操作。

您需要的可能是传递函数本身,就像JavaScript允许的那样:

代码语言:javascript
复制
function x() { alert("Hi"); }

window.onload = x;

window.onload();  // will alert "Hi"

使用下面的代码(PHP 5.3之前的版本)可以做到这一点:

代码语言:javascript
复制
$result = create_function("\$sql", "mysql_query(\$sql);");

或者在PHP 5.3中:

代码语言:javascript
复制
$result = function($sql) { mysql_query(\$sql); }

在这两种情况下都可以调用创建的函数:

代码语言:javascript
复制
$result($sql);

在PHP中传递函数的做法比在Javascript中要少得多。

票数 3
EN

Stack Overflow用户

发布于 2011-02-15 19:00:56

这基本上是在函数返回值时完成的。

后面的语句将成功执行,但您不能利用检索到的数据。

列出的第一条语句根据查询的执行返回结果集,并将其赋给$result变量。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5002775

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档