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

php 是最好的语言。。

  •  
  •   yxwzaxns · 2015-11-01 12:05:04 +08:00 · 4542 次点击
    这是一个创建于 3347 天前的主题,其中的信息可能已经有所发展或是发生改变。

    那么问题来了,这个问题怎么理解:

    <?php
    
    foreach ($_POST as $key => $value) {
        $_POST[false]=$value;
    }
    
    var_dump($_POST);
    
    ?>
    

    post 数据 w:123 a=456

    结果:

    array(3) {
    ["w"]=>
    string(3) "123"
    ["a"]=>
    string(3) "456"
    [0]=>
    string(3) "456"
    }
    
    第 1 条附言  ·  2015-11-01 12:44:35 +08:00
    protected function _clean_input_keys($str, $fatal = TRUE)
    {

    if ( ! preg_match('/^[a-z0-9:_\/|-]+$/i', $str))
    {
    if ($fatal === TRUE)
    {
    return FALSE;
    }
    else
    {
    echo 'Disallowed Key Characters.';
    exit(7); // EXIT_USER_INPUT
    }
    }

    // Clean UTF-8 if supported
    if (UTF8_ENABLED === TRUE)
    {
    return $this->uni->clean_string($str);
    }

    return $str;
    }

    if (is_array($_POST) && count($_POST) > 0)
    {
    foreach ($_POST as $key => $val)
    {
    $_POST[$this->_clean_input_keys($key)] = $this->_clean_input_data($val);

    }

    }

    这是 ci 里对 post data key 进行处理的过程
    第 2 条附言  ·  2015-11-01 12:46:52 +08:00
    如果提交有类似 [ ] 的 key ,好像 clean post data 处理完并没有什么卵用
    23 条回复    2015-11-02 14:33:10 +08:00
    lizheming
        1
    lizheming  
       2015-11-01 12:12:17 +08:00   ❤️ 1
    belain
        2
    belain  
       2015-11-01 12:14:22 +08:00
    <?php

    foreach ($_POST as $key => $value) {
    $_POST[0]=$value;
    }

    var_dump($_POST);

    ?>

    很难理解?
    maddot
        3
    maddot  
       2015-11-01 12:15:21 +08:00
    呵呵
    aprikyblue
        4
    aprikyblue  
       2015-11-01 12:16:24 +08:00
    > // 键( key )可是是一个整数 integer 或字符串 string
    GGGG430
        5
    GGGG430  
       2015-11-01 12:18:26 +08:00
    0 和 '' 都相当于空字符和 false
    towser
        6
    towser  
       2015-11-01 12:19:48 +08:00
    false 被转换成 0 了。你是最好的程序员。
    Tianpu
        7
    Tianpu  
       2015-11-01 12:40:38 +08:00
    构造这种明显错误的语法究竟是为了什么?
    odirus
        8
    odirus  
       2015-11-01 13:30:36 +08:00
    何必为了黑而黑呢?如果你觉得自己牛逼,那首先你应该知道某种语言的缺陷,其次你还能规避或者用其他语言来弥补。你是连缺陷都不了解呢?还是不会其他拿手语言呢?
    yxwzaxns
        9
    yxwzaxns  
    OP
       2015-11-01 13:32:44 +08:00
    @odirus 然而我并没有这个想法,我只是不理解罢了,不知道你怎么会这样想
    odirus
        10
    odirus  
       2015-11-01 13:36:13 +08:00
    你这个标题让人看了就觉得。。,我也写过很长时间的 PHP ,不过遇到问题我会去先尝试解决,再回来总结。如果你提问,请认真提问。
    MaiCong
        11
    MaiCong  
       2015-11-01 15:31:18 +08:00
    不是语言的锅,是你为什么要这样写。
    pseudo
        12
    pseudo  
       2015-11-01 19:20:25 +08:00
    莫名其妙
    lincanbin
        13
    lincanbin  
       2015-11-01 19:23:49 +08:00 via Android
    低端黑
    raincious
        14
    raincious  
       2015-11-01 19:24:07 +08:00
    哈哈哈,楼上觉得楼主问题“莫名其妙”的,可以看这里的第二题以及答案:
    https://www.v2ex.com/t/228831
    lincanbin
        15
    lincanbin  
       2015-11-01 19:25:54 +08:00 via Android
    这证明了 PHP 鲁棒性强,写其他语言里会爆炸的语句,竟然也能正常运行。
    PHP 对于 *个别群体* 的容忍度太高,这点不太好。
    dangyuluo
        16
    dangyuluo  
       2015-11-01 19:43:29 +08:00
    又是一个最好的程序员
    wdlth
        17
    wdlth  
       2015-11-01 19:52:46 +08:00
    JS 能钻空子的还要多……
    lk1ngaa7
        18
    lk1ngaa7  
       2015-11-01 23:58:22 +08:00
    有意思? php 写得好,对你本身的编程功底要求是非常高的
    kaka8wp
        19
    kaka8wp  
       2015-11-02 09:16:48 +08:00
    false 转换成 0 , Array([w] => 123 [a] => 456 [0] => 456)。[w] => 123 和[0] => 456 是不一样的。
    dcsite
        20
    dcsite  
       2015-11-02 09:20:45 +08:00
    你是最好的程序员~
    够低端
    ifconfig
        21
    ifconfig  
       2015-11-02 09:52:01 +08:00
    you sucks
    adexbn
        22
    adexbn  
       2015-11-02 12:20:13 +08:00
    这个标题是用来解决女朋友叫你出去陪她逛街问题的
    t2doo
        23
    t2doo  
       2015-11-02 14:33:10 +08:00
    不喜欢 PHP 可以不写嘛,不要这么为难自己,去写 JAVA 吧,那也是不错的语言,哈哈
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1027 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 22:17 · PVG 06:17 · LAX 14:17 · JFK 17:17
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.