$ _POST数组可以是多维的。我有删除无效UTF的代码,但也完全删除了子数组。
运行此代码:
print_r($_POST);
$UTF8_Input = array_map('_StripInvalidUTF8', $_POST);
print_r($UTF8_Input);
function _StripInvalidUTF8($str){
return iconv('UTF-8', 'UTF-8//IGNORE', $str);
}
产地:
//$_POST:
Array
(
[Quantity] => 1
[Options] => Array
(
[84] => 585
)
)
// $UTF8_Input:
Array
(
[Quantity] => 1
[Options] =>
)
Options数组正在被截断。有关如何检查子数组中是否有效数据的任何建议,如果它们是完整的,请保持原样?我不确定他们被删除的确切原因。
答案 0 :(得分:1)
试试吧
function _StripInvalidUTF8($str){
if(is_array($str)) return array_map('_StripInvalidUTF8', $str);
return iconv('UTF-8', 'UTF-8//IGNORE', $str);
}