无法将变量文本保存到文件

时间:2011-10-30 23:18:45

标签: php

我遇到此代码的问题:

$myvariable = "<?php $user_id = '5'; ?>";

...现在我用php ...

将其写入文件

这是我打开保存文件时看到的内容:

<?php  = '5'; ?>

缺少$ user_id!

为什么会发生这种情况,有没有办法解决这个问题?

2 个答案:

答案 0 :(得分:5)

当您使用双引号时,文本中的任何$variables都将替换为其当前值。因为$user_id未在当前正在运行的代码中定义,所以它将被替换为任何内容。

有几种方法可以防止这种情况发生。你可以用单引号包装你的字符串,用反斜杠转义文本中的现有单引号:

$myvariable = '<?php $user_id = \'5\'; ?>';

或者你可以用反斜杠逃避$,这样它就不会被解释:

$myvariable = "<?php \$user_id = '5'; ?>";

答案 1 :(得分:2)

如果您使用双引号括起字符串,PHP会解释字符串中的变量。但是,如果使用单引号,它会按字面解释字符串。

尝试转义变量名称中的美元符号。像这样:

$myvariable = "<?php \$user_id = '5'; ?>";