我在清理数据时遇到问题。
是否有一个内置的php函数来清除数据,如htmlspecialchars/htmlnteties,如果提供非字符串值,它将保持其原始类型。示例:
The problem:
$a = 1;//(int);
$b = htmlspecialchars($a);
var_dump($b); // string "1"
The desired effect:
$a = 1;//(int);
$b = htmlspecialchars($a);
var_dump($b); // integer"1"
谢谢你抽出时间。
$a = 1;//(int);
$b = htmlspecialchars($a);
settype($b,gettype($a));
var_dump($b); // integer"1"
中的结果
int(1)
您可以先按类型进行检查,然后使用htmlspecialchars
,然后转换为类型。。。尽管这将违反使用html特殊字符的规定。此外,我认为$a
可能来自某个请求变量,在这种情况下,它将始终是一个字符串。
听起来好像你想要一个函数来为你确定上下文。既然它已经被类型化为int,你想做什么"转义"?
不需要对整数值使用htmlspecialchar。
我只是得到了类型,然后做一些像我在下面的代码中显示的事情,甚至你可以稍后再次设置类型。
$var_type = gettype($var);
switch ($var_type)
{
case 'integer':
break;
case 'string':
$var = htmlspecialchars($var);
}
return $var;