代码之家  ›  专栏  ›  技术社区  ›  Muhammad Osama

Preg_grep()正则表达式模式未按预期工作

php
  •  0
  • Muhammad Osama  · 技术社区  · 7 年前





    这是我的 密码

    $usernames= array("microsoft-2","google-1","google");
    $value='google';
    
    $input = preg_quote($value, '~');
    $result = preg_grep('~' . $value . '~', $usernames);
    
    echo '<pre>';
    print_r($result);
    //Array
    (
        [1] => google-1
        [2] => google
    )
    


    上面的结果很好,但问题是如果我将值设置为 它返回相同的结果,而我希望它返回一个空的勘误表。
    用户名来自数据库,可以是一个很大的数字。


    任何帮助都将不胜感激!非常感谢

    1 回复  |  直到 7 年前
        1
  •  1
  •   ArtisticPhoenix    7 年前

    \b

    $usernames= array("microsoft-2","google-1","google");
    $value='goog';
    
    $input = preg_quote($value, '~');
    $result = preg_grep('~' . $value . '\b~', $usernames);
    
    echo '<pre>';
    print_r($result);
    

    array()
    

    Sandbox

    $result = preg_grep('~\b' . $value . '\b~', $usernames); 在这种情况下 goog 你只需要一个合适的。

    推荐文章