【发布时间】:2013-10-20 12:45:42
【问题描述】:
我在 php 中有这几行代码..
$ALL2 = "($SUM|$DIFF|$PROD|$QUOT|$MOD|$MAX|$MIN|$VAR_NAME|$LIT_NUMBAR|$LIT_NUMBAR)";
$SUM2 = "$OPERATOR_SUM $ALL2|$SUM2 ($INFIX) $ALL2|$SUM2";
我计划在第 2 行使用递归代码,但问题是......右手边的 $SUM2 将是未定义的......
我将如何让代码运行?
非常感谢您的帮助..
【问题讨论】:
-
$SUM是否在其他任何地方定义? -
PHP 字符串中的递归变量引用不起作用。您需要查看实际的 pcre recursions,最好是 named subroutines。
-
$SUM2 is...$SUM 在前面的行中使用...
-
@mario 那么,没有其他方法可以通过变量实现递归吗?
-
@vaizaren:如果您将单引号更改为双引号,解析器不会着手尝试将所有
$[a-z]解析为变量。如果这应该发生,并且您正在尝试将其转换为有效的正则表达式,请尝试使用preg_quote,也