首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >索引到嵌套数组还是使用对最深层的引用?

索引到嵌套数组还是使用对最深层的引用?
EN

Stack Overflow用户
提问于 2011-12-16 00:46:20
回答 2查看 277关注 0票数 0

给定一个深度嵌套的数组:$array = array('nested' => array('so' => array('deep' => array())));

...which更快/‘更好’?

代码语言:javascript
复制
$array['nested']['so']['deep'][0] = 'a';
$array['nested']['so']['deep'][1] = 'b';
$array['nested']['so']['deep'][2] = 'c';

代码语言:javascript
复制
$deep = &$array['nested']['so']['deep'];
$deep[0] = 'a';
$deep[1] = 'b';
$deep[2] = 'c';

还是说它们是一样的?如果是这样,是不是更可取?为什么?

EN

回答 2

Stack Overflow用户

发布于 2011-12-16 00:51:48

通常,保持引用的更快更容易管理。但是,除非您多次访问它,否则可能不会有什么不同。散列很快。在我最近运行的测试中,我发现哈希甚至比我之前想象的还要快。但是,你通过引用绕过的级别越多,你就会看到越多的改进。

然而,对我来说最重要的事情是它更容易维护。在大多数情况下,性能提升可能可以忽略不计。我不会为了性能而费心这么做,但如果它能让你的代码更具可读性,那么我完全支持它。

票数 3
EN

Stack Overflow用户

发布于 2011-12-16 01:09:17

您可能遗漏了另一个变体:

代码语言:javascript
复制
$deep[0] = 'a';
$deep[1] = 'b';
$deep[2] = 'c';
$array['nested']['so']['deep'] = $deep;

更快和更好在很大程度上取决于,这些术语相当宽泛。打字更快?你自己决定吧。执行起来更快?我不认为以如此一般的形式来了解它是值得的,这可以在具体的地方产生不同,但然后你也需要在具体的地方度量它来找出答案。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8523612

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档