我对这个代码有一个问题:
$myvariable = "<?php $user_id = '5'; ?>";
…现在我用php把它写入文件…
,下面是我打开保存文件时看到的内容:
<?php = '5'; ?>
$user_id缺失!
为什么会发生这种情况,有没有办法解决这个问题?
当您使用双引号时,文本中的任何$variables
将被其当前值所替换。因为$user_id
在当前运行的代码中没有定义,所以它被替换为空。
有几种方法可以防止这种情况发生。您可以将字符串用单引号括起来,用反斜杠转义文本中现有的单引号:
$myvariable = '<?php $user_id = ''5''; ?>';
或者你可以用反斜杠转义$
,这样它就不会被解释:
$myvariable = "<?php '$user_id = '5'; ?>";
如果用双引号括住字符串,PHP就会解释字符串中的变量。但是,如果使用单引号,它将按字面解释字符串。
尝试转义变量名中的美元符号。这样的:
$myvariable = "<?php '$user_id = '5'; ?>";