PHP操作顺序

时间:2010-03-05 19:33:56

标签: php operator-precedence

我想知道PHP如何执行它。运作顺序

addslashes(strip_tags($record['value']));

addslashes是先调用还是strip_tags?

换句话说,它是从内到外还是从外部执行?

4 个答案:

答案 0 :(得分:10)

从内到外。

传递给PHP中的函数的东西称为“表达式”。将表达式作为参数传递时,实际传递的是该表达式的值。为此,表达式在传入之前进行评估。

有关php manual的表达式的更多信息。

答案 1 :(得分:5)

首先调用strip_tags。

这不仅仅是PHP的情况,所有其他编程语言都是这种情况(不包括一些模糊的深奥语言,可能有一些独特的评估顺序)。

PS:这是一些文档:PEDMAS。这也是编程语言中这种评估顺序的启发。

答案 2 :(得分:1)

如果以合乎逻辑的方式考虑它,PHP需要什么来执行该功能?变量。因此,strip_tags需要输入$record['value']才能执行该功能并从中删除标记。该函数将返回一个值。

现在,addslahes也需要一个变量。它不能在函数上执行,它需要在其中的函数返回一些东西供它处理。因此它使用来自strip_tags的返回值作为其变量并在其上执行。

答案 3 :(得分:0)

addslashes需要一个参数,在您的情况下它是strip_tags($record['value'])。 <{1}}在未解决其参数时无法调用。

因此必须首先调用addslashes。几乎所有流行的编程语言就是这种情况。我知道你在知道这件事之前是如何成功的!