以下哪两种数据结构“更好”?
array('key'=>array(1,2,3,4))
OR:
array('key',array(1,2,3,4))
即,最好将数组存储为双元素数组中的第二个元素,或者将数组存储为具有键“key”的数组中的单个元素。
就我的目的而言,假设在方便方面,它们是等同的。我只是好奇一个人是否比另一个人使用更多的资源。
答案 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,显然第一个例子胜利了!