Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 无法将变量文本保存到文件_Php - Fatal编程技术网

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

Php 无法将变量文本保存到文件,php,Php,我对此代码有问题: $myvariable = "<?php $user_id = '5'; ?>"; …现在我使用php将其写入文件 这是我打开保存的文件时看到的: <?php = '5'; ?> $user\u id丢失 为什么会发生这种情况?是否有办法解决此问题?当您使用双引号时,文本中的任何$变量都将替换为其当前值。因为$user_id没有在当前运行的代码中定义,所以它被替换为nothing 有几种方法可以防止这种情况发生。您可以改为将字符串用单引号括起来,

我对此代码有问题:

$myvariable = "<?php $user_id = '5'; ?>";
…现在我使用php将其写入文件

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

<?php  = '5'; ?>
$user\u id丢失


为什么会发生这种情况?是否有办法解决此问题?

当您使用双引号时,文本中的任何$变量都将替换为其当前值。因为$user_id没有在当前运行的代码中定义,所以它被替换为nothing

有几种方法可以防止这种情况发生。您可以改为将字符串用单引号括起来,用反斜杠转义文本中现有的单引号:

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

使用双引号时,文本中的任何$变量都将替换为其当前值。因为$user_id没有在当前运行的代码中定义,所以它被替换为nothing

有几种方法可以防止这种情况发生。您可以改为将字符串用单引号括起来,用反斜杠转义文本中现有的单引号:

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

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

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

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

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

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

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

PHP将解析带引号字符串中的变量,这将发生在您将字符串保存到文件操作之前。PHP将解析带引号字符串中的变量,这将发生在您将字符串保存到文件操作之前。它们还可以使用转义\$user\u id,对吗?请看:它们还可以使用逃逸\$user\u id,对吗?见: