cssnote
V2EX  ›  PHP

一般怎么判断搜索的input?判断变量“非空但允许为零”吗?

  •  
  •   cssnote · Jul 14, 2013 · 4110 views
    This topic created in 4686 days ago, the information mentioned may be changed or developed.
    15 replies    1970-01-01 08:00:00 +08:00
    arron
        1
    arron  
       Jul 14, 2013
    同求

    我现在用这

    strlen(trim( $str ));
    cssnote
        2
    cssnote  
    OP
       Jul 14, 2013
    @arron

    你是用 !$str 、empty($str)、还是$str=='' ???
    arron
        3
    arron  
       Jul 14, 2013
    觉得可以用这个:

    $str || $str === "0"

    下面这个可以顺便滤掉空白参数

    strlen( trim( $str ) )
    cssnote
        4
    cssnote  
    OP
       Jul 14, 2013
    @arron 你说听这个完整应该怎么写?

    直接用 $str ==' ' 更简单啊
    arron
        5
    arron  
       Jul 14, 2013
    恩, 测了下 $str == '' 可以.
    123123
        6
    123123  
       Jul 14, 2013 via Android
    如果是警告报 notice 不要紧吗
    cssnote
        7
    cssnote  
    OP
       Jul 14, 2013
    @123123 不明白你说的
    dongbeta
        8
    dongbeta  
       Jul 14, 2013
    一般情况下,搜索条件的:
    1. 是一个有意义的搜索条件(去掉特殊字符,无意义字符)
    2. 处理过的字符串长度大于特定长度(比如 3 个字符)


    @cssnote 程序做到 notice free 很要紧。
    msg7086
        9
    msg7086  
       Jul 14, 2013
    "非空但允许为零"

    直接判断非空就行了。 isset($_GET['q']) && trim($_GET['q']) !== ''
    cssnote
        10
    cssnote  
    OP
       Jul 14, 2013
    @msg7086

    你这句里面能去除isset吗,会有什么影响 ?
    msg7086
        11
    msg7086  
       Jul 15, 2013
    @cssnote 判断数组里是否有这个项目。直接引用会报错并严重降低性能。
    picasso250
        12
    picasso250  
       Jul 15, 2013
    @msg7086 把“严重”二字去掉吧
    这更多的关乎严谨。
    msg7086
        13
    msg7086  
       Jul 15, 2013
    @picasso250 嗯,主要是best practice的问题,但是我记得以前有人说过产生任何错误都会造成额外的性能损失,而且很大。
    picasso250
        14
    picasso250  
       Jul 15, 2013
    @msg7086 “而且很大”,我觉得那人夸张了。

    当然,我也是支持使用isset的。这种用户输入,自然要小心。
    cssnote
        15
    cssnote  
    OP
       Jul 15, 2013
    @msg7086
    @picasso250

    任其输入任何内容,不都isset了吧?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1139 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 40ms · UTC 17:59 · PVG 01:59 · LAX 10:59 · JFK 13:59
    ♥ Do have faith in what you're doing.