0

我想知道 PHP 将如何执行此操作。操作顺序

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

addlashes 是 first 还是 strip_tags?

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

4

4 回答 4

11

从里到外。

在 PHP 中传递给函数的东西称为“表达式”。当您将表达式作为参数传递时,您真正传递的是该表达式的值。为了做到这一点,表达式在传入之前进行评估。

更多关于php 手册中的表达式。

于 2010-03-05T19:34:34.980 回答
5

首先调用 strip_tags。

这不仅仅是 PHP 的情况,所有其他编程语言也是如此(不包括一些可能有一些独特评估顺序的晦涩难懂的语言)。

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

于 2010-03-05T19:37:14.507 回答
1

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

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

于 2010-03-05T19:38:07.403 回答
0

addslashes接受一个论点,在你的情况下是strip_tags($record['value']). addslashes当它的论点没有解决时不能被调用。

因此strip_tags必须先调用。几乎所有流行的编程语言都是这种情况。我想知道你在知道这件事之前是怎么熬过来的!

于 2010-03-05T19:38:52.120 回答