PHP-快速过滤匹配Form表单对应的字段数据

2021-03-22 20:49 阅读:2068
    /**
     * 过滤字段数据
     * @param array $from 源数据
     * @param array $arr 需要匹配的字段
     * @param bool $uncamelize 驼峰转下划线
     * @return mixed
     */
    public static function filterForm($from, $arr, $uncamelize = false)
    {
        if ($uncamelize){
            foreach ($from as $k => $v) {
                $key = ClassName::uncamelize($k);  //此处注意,请查看https://www.regaing.cn/lingyun/67054.html
                unset($from[$k]);
                if (in_array($key, $arr)) $from[$key] = $v;
            }
        } else {
            foreach ($from as $k => $v) {
                if (!in_array($k, $arr)) {
                    unset($from[$k]);
                }
            }
        }
        return $from;
    }

请注意 ClassName::uncamelize($k); 需要对应的函数,点这里查看

使用示例:

public function login()
{
    $value = ['name'=>'zhangsan','password'=>'123456','other'=>'666'];
    $data = ClassName::filterForm($value, ['name','password']);
    // $data = ['name'=>'zhangsan','password'=>'123456']
}

文中的ClassName请替换为自己的文件类名

{{commentTotal}} 条评论

{{item.nickname}}
{{item.create_date}}
{{item.content}}
- 上拉或点击加载更多 -
- 加载中 -
- 没有更多了 -
- 本文链接 -