Php 使用包含特殊字符的变量

Php 使用包含特殊字符的变量,php,Php,我正在处理一个项目,我的许多变量都需要包含特殊字符,例如{}[.!?/\=+-还有,在SQL、PHP和输出之间来回传递这些变量最安全的方法是什么?如何防止变量干扰我的代码?即: <?php echo $var; echo '$var'; echo "$var"; ?> 在PHP中,变量的名称不能包含除初始美元符号$和下划线\以外的特殊字符。只要遵循定义PHP字符串的规则,变量的值可以包含任何您想要的内容 变量值不会干扰您的代码。如果您担心它会干扰您的输出HTML,请按照评论中的建议

我正在处理一个项目,我的许多变量都需要包含特殊字符,例如{}[.!?/\=+-还有,在SQL、PHP和输出之间来回传递这些变量最安全的方法是什么?如何防止变量干扰我的代码?即:

<?php
echo $var;
echo '$var';
echo "$var";
?>
在PHP中,变量的名称不能包含除初始美元符号$和下划线\以外的特殊字符。只要遵循定义PHP字符串的规则,变量的值可以包含任何您想要的内容


变量值不会干扰您的代码。如果您担心它会干扰您的输出HTML,请按照评论中的建议使用htmlspecialchars。

最好的方法是在数据提供后立即对其进行URL编码。然后存储它,并在使用时对其进行URL解码

差不多

string urlencode ( string $str )
编码

string urldecode ( string $str )
解码。这会将您的特殊字符更改为安全字符。

您可以使用PDO/MYSQL将数据发送到数据库中


要转换为html实体,可以使用函数。

使用准备好的语句和PDO/MySQLi插入数据库。回显时使用htmlspecialchars。您的变量名将是$foo{}!废话?如果是这样的话,你的代码就要被扔进垃圾桶了。变量名永远不应该动态生成到包含这样的垃圾的地步。名称不会是这样的,只有其中包含的数据。对不起,如果我不太清楚的话。