$_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] =>
)
选项数组正在被截断。任何关于如何检查有效数据的子数组的建议,如果他们完好无损?
试试
function _StripInvalidUTF8($str){
if(is_array($str)) return array_map('_StripInvalidUTF8', $str);
return iconv('UTF-8', 'UTF-8//IGNORE', $str);
}