哪个是在php中存储这个有序对的更有效的方法?

时间:2010-02-02 12:47:59

标签: php arrays performance

以下哪两种数据结构“更好”?

array('key'=>array(1,2,3,4))

OR:

array('key',array(1,2,3,4))

即,最好将数组存储为双元素数组中的第二个元素,或者将数组存储为具有键“key”的数组中的单个元素。

就我的目的而言,假设在方便方面,它们是等同的。我只是好奇一个人是否比另一个人使用更多的资源。

3 个答案:

答案 0 :(得分:4)

您可以使用适合您要存储的内容。

如果键与值数组及其唯一相关,则使用键/值。

担心在这种情况下使用的资源是微观优化和无关紧要的分心。

答案 1 :(得分:2)

如果这是数组的完整大小,那就没关系。

但是,如果你实际上有像

这样的数组
array(
  array('key', array(...)),
  array('key', array(...)),
  array('key', array(...)),
  etc
);

而不是

array(
  'key' => array(...),
  'key' => array(...),
  'key' => array(...),
);

然后它不仅奇怪,而且非常难以理解。

答案 2 :(得分:2)

将值命名为key的美好事物是:

“我想要鲍勃的价值”

$bob = $myArray['bob'];

而不是

foreach($myArray as $key => $value) {

    if ($value[0] === 'bob') { // the first value of your 2nd type
        $bob = $myArray[1]; // get the next value.
    }

}

当然,对于第二个例子,你可以考虑end()。但是比较2,显然第一个例子胜利了!