mirror of
https://gitee.com/fastadminnet/framework.git
synced 2026-07-06 23:02:48 +08:00
改进Input类
This commit is contained in:
@@ -261,39 +261,37 @@ class Input
|
|||||||
if (0 === strpos($name, '?')) {
|
if (0 === strpos($name, '?')) {
|
||||||
return self::has(substr($name, 1), $input);
|
return self::has(substr($name, 1), $input);
|
||||||
}
|
}
|
||||||
if (!empty($input)) {
|
|
||||||
$data = $input;
|
$data = $input;
|
||||||
$name = (string) $name;
|
$name = (string) $name;
|
||||||
if ('' != $name) {
|
if ('' != $name) {
|
||||||
// 解析name
|
// 解析name
|
||||||
list($name, $type) = static::parseName($name);
|
list($name, $type) = static::parseName($name);
|
||||||
// 按.拆分成多维数组进行判断
|
// 按.拆分成多维数组进行判断
|
||||||
foreach (explode('.', $name) as $val) {
|
foreach (explode('.', $name) as $val) {
|
||||||
if (isset($data[$val])) {
|
if (isset($data[$val])) {
|
||||||
$data = $data[$val];
|
$data = $data[$val];
|
||||||
} else {
|
} else {
|
||||||
// 无输入数据,返回默认值
|
// 无输入数据,返回默认值
|
||||||
return $default;
|
return $default;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 解析过滤器
|
|
||||||
$filters = static::parseFilter($filter, $merge);
|
|
||||||
// 为方便传参把默认值附加在过滤器后面
|
|
||||||
$filters[] = $default;
|
|
||||||
if (is_array($data)) {
|
|
||||||
array_walk_recursive($data, 'self::filter', $filters);
|
|
||||||
} else {
|
|
||||||
self::filter($data, $name ?: 0, $filters);
|
|
||||||
}
|
|
||||||
if (isset($type) && $data !== $default) {
|
|
||||||
// 强制类型转换
|
|
||||||
static::typeCast($data, $type);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
$data = [];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 解析过滤器
|
||||||
|
$filters = static::parseFilter($filter, $merge);
|
||||||
|
// 为方便传参把默认值附加在过滤器后面
|
||||||
|
$filters[] = $default;
|
||||||
|
if (is_array($data)) {
|
||||||
|
array_walk_recursive($data, 'self::filter', $filters);
|
||||||
|
} else {
|
||||||
|
self::filter($data, $name ?: 0, $filters);
|
||||||
|
}
|
||||||
|
if (isset($type) && $data !== $default) {
|
||||||
|
// 强制类型转换
|
||||||
|
static::typeCast($data, $type);
|
||||||
|
}
|
||||||
|
|
||||||
return $data;
|
return $data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user