我有一个像这样的PHP数组,它包含基于特定查询的搜索结果。
Array
(
[2] => Array
(
[status] => 0
[item] => something
[catagory] => something
)
[23] => Array
(
[status] => 1
[item] => something
[catagory] => something
)
[24] => Array
(
[status] => 1
[item] => something
[catagory] => something
)
)
如果我需要访问特定数组中的数据,我有两种访问数据的方法。
foreach($contents as $content => $data){
if($content == '23'){
$result = $data['item'];
}
}
或
if(isset($contents['23'][0]['item'])){
//if array 23 exists do something here.
$result = $data['item'];
}
我以前总是去foreach
,我需要知道什么是最可靠和最快的方式?
应使用哪种方法来过滤搜索结果?
答案 0 :(得分:0)
请不要认为这两者中的哪一个更快,if
或foreach
。它被称为过早优化,它可能是你能做的最糟糕的事情。
通过选择更快的这两个,你将获得不超过0.05毫秒(可能更少),你只是失去了很多时间来提出这个问题并思考这个“问题”。
除非它是您的代码的关键部分(并且它不是!您正在连接到数据库,它只花了比if
和foreach
所有的更多时间,不要触摸它
答案 1 :(得分:-1)
我认为第二个更快,因为不需要循环。循环需要更多时间来执行命令。