我有一些由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中转换为相同类型的深入信息吗?
答案 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;
}