V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
wfdaj
V2EX  ›  PHP

请问,可以这样过滤 $_POST 请求吗?

  •  
  •   wfdaj · 2022-05-11 11:14:11 +08:00 · 1901 次点击
    这是一个创建于 688 天前的主题,其中的信息可能已经有所发展或是发生改变。

    循环过滤,但只获得了最后一条?-_-"

    function request(string $key)
    {
        $method = strtoupper($_SERVER['REQUEST_METHOD']);
        $data = [];
    
        if ($method === "GET") {
            foreach ($_GET as $key => $value) {
                $data[$key] = escape($value);
            }
        } elseif ($method === "POST") {
            foreach ($_POST as $key => $value) {
                $data[$key] = escape($value);
            }
        }
    
        return $data[$key];
    }
    

    输出结果:

    Array
    (
        [email] => 11111111
        [username] => 11111111
        [password] => 11111111
    )
    
    8 条回复    2022-05-11 13:26:01 +08:00
    fuchish112
        1
    fuchish112  
       2022-05-11 11:19:07 +08:00
    为啥不是 return $data ?
    sadfQED2
        2
    sadfQED2  
       2022-05-11 11:22:55 +08:00 via Android
    为啥不直接用$_REQUEST?
    justrand
        3
    justrand  
       2022-05-11 11:32:03 +08:00
    你贴出的输出结果有啥问题吗?
    zuokanyunqishi
        4
    zuokanyunqishi  
       2022-05-11 12:17:57 +08:00 via Android
    变量覆盖了?传进来的 key ,循环里的 key ?
    westoy
        5
    westoy  
       2022-05-11 12:29:23 +08:00
    因为上下两个 foreach 都把 key 给改到了最后一个键啊
    msojocs
        6
    msojocs  
       2022-05-11 12:48:18 +08:00
    直接 `return escape($_REQUEST[$key]);` ?
    feiffy
        7
    feiffy  
       2022-05-11 12:50:28 +08:00
    为啥不是 return $data ?
    wfdaj
        8
    wfdaj  
    OP
       2022-05-11 13:26:01 +08:00
    感谢,断断续续自学,一直是新手中......😂
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5339 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 07:27 · PVG 15:27 · LAX 00:27 · JFK 03:27
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.