代码之家  ›  专栏  ›  技术社区  ›  Nuno

PHP-检查变量还是比较字符串?

  •  -1
  • Nuno  · 技术社区  · 14 年前

    当我们想知道“word”是否是数组的一个元素时,我想知道这些摘录中哪一个应该占用更少的资源:

    摘录1-检查变量:

    <?php
    function checkWord($word, $elements) {
        $array = array($word => true);
        foreach ($elements as $element) {
            if (isset($array[$element])) return true;
        }
        return false;
    }
    
    $elements = array('this', 'is', 'an', 'array', 'with', 'a', 'word');
    checkWord('word', $elements);
    ?>
    

    <?php
    function checkWord($word, $elements) {
        foreach ($elements as $element) {
            if ($element == $word) return true;
        }
        return false;
    }
    
    $elements = array('this', 'is', 'an', 'array', 'with', 'a', 'word');
    checkWord('word', $elements);
    ?>
    

    我知道我们可以用 in_array() ,但这不是重点。 总之,使用isset进行变量检查比比较字符串好吗?

    我知道 有更好的方法。我是 只是

    1 回复  |  直到 10 年前
        1
  •  2
  •   Valentin Flachsel    14 年前

    我用51000多个独特的单词列表做了一个基准测试,以满足你(和我,老实说)的好奇心。尽管使用isset()的速度不算太快,但它确实比比较字符串快,平均速度为 0.0144901275634765625 第一种方法的秒数vs

    希望这有帮助。

    推荐文章