访问数组中值的最快方法

时间:2013-11-19 17:43:43

标签: php

我有一个像这样的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,我需要知道什么是最可靠和最快的方式?

应使用哪种方法来过滤搜索结果?

2 个答案:

答案 0 :(得分:0)

请不要认为这两者中的哪一个更快,ifforeach。它被称为过早优化,它可能是你能做的最糟糕的事情。 通过选择更快的这两个,你将获得不超过0.05毫秒(可能更少),你只是失去了很多时间来提出这个问题并思考这个“问题”。

除非它是您的代码的关键部分(并且它不是!您正在连接到数据库,它只花了比ifforeach所有的更多时间,不要触摸它

答案 1 :(得分:-1)

我认为第二个更快,因为不需要循环。循环需要更多时间来执行命令。