/**
* 多维数组数据处理
*
* @param $arr 需要处理的数据数组(多维数组)
* @param $is_del 直接删除还是置空
* @param $error_type 需要处理的数据规则
* @return
*/
public static function cleanData($arr, $is_del = true, $error_type = [])
{
if (empty($arr)) {
return [];
};
if (!empty($error_type)) {
$errorType = $error_type; //允许外部传递要删除的规则
} else {
$errorType = ['','undefined','undefind', 'null', 'none', 'false', '0'];
}
//循环处理数据
foreach ($arr as $key => $value) {
//判断如果是数组循环判断
if (is_array($arr[$key])) {
$newdata = self::cleanData($value, $is_del, $errorType);
if (!empty($newdata)) {
$arr[$key] = $newdata;
} else {
unset($arr[$key]);
}
} else {
$value = trim($value);
if (in_array(strtolower($value), $errorType)) {
//判断是置空还是直接删除
if ($is_del) {
unset($arr[$key]); //如果存在处理的数据、直接干掉
} else {
$arr[$key] = '';
}
} else {
$arr[$key] = self::filterMeme($value);
}
}
}
return $arr;
}