在php

时间:2015-09-11 16:12:28

标签: php

我有一些由ocd引起的不良编程习惯,但是在编程时我们不要讨论我的强迫症(尽管这篇文章强化了它,omg)。

我有这两段代码(执行时间2.1934509277344E-5):

    function get_paths($string, $array) {

        $result = array();

        foreach($array as $i)
            if (stripos($i, $string) !== false)
                $result[] = $i;

        return empty($result) ? false : $result;

    }

返回语句看起来是倒置的,负面结果首先出现(我的形式主义者会发疯)。我知道,我知道,我可以加一个否定,但看起来最糟糕。为了避免这种情况,我提出了以下解决方案(执行时间为2.288818359375E-5):

    function get_paths($string, $array) {

        $result = null;

        foreach($array as $i)
            if (stripos($i, $string) !== false)
                (array)$result[] = $i;

        return isset($result) ? $result : false;

    }

这段代码涉及演员(array)$result[] = $i;。重点是:每次将数组转换为数组是多么愚蠢? 有人有一些关于在php中转换为相同类型的深入信息吗?

1 个答案:

答案 0 :(得分:0)

如果对你这么重要:

function get_paths($string, $array) {

    $result = array();

    foreach($array as $i)
        if (stripos($i, $string) !== false)
            $result[] = $i;

    return count($result) > 0 ? $result : false;

}