1

这行代码在我升级之前运行良好,现在它没有:

123: $thisRow[] = displayR(${"sR{$i}S1"}, ${"nR{$i}S1P"});

我收到此错误:

Undefined variable: sR1S1 in script.php on line 123

一种解决方法是先手动分配它们

$s = ${"sR{$i}S1"};
$n = ${"nR{$i}S1P"};
$thisRow[] = displayR($s, $n);

有没有办法让它像以前一样在一条线上工作?有谁知道为什么它不再起作用?

我应该补充一点,我尝试过使用

var_dump(${"sR{$i}S1"});
在上一行中,它已定义,并且具有我期望的值。

我在谷歌或 SO 上找不到任何关于这种行为的提及,我想知道这是否是一个错误而不是有意的。

4

1 回答 1

0

我相信这是一个 opcache 错误。

在有问题的文件上禁用 opcache 恢复了预期的行为。

我在以下位置提交了一份(相当无用的)错误报告:

https://bugs.php.net/bug.php?id=69159

这显然已被修复和关闭:

http://git.php.net/?p=php-src.git;a=commitdiff;h=a29b64fc1029b4121e3e9ff20901c35ad600b4da

于 2015-03-04T12:09:19.493 回答