【问题标题】:Is it ok to have numerical keys in a PHP array but not contiguous from 0?可以在 PHP 数组中有数字键但不从 0 连续吗?
【发布时间】:2012-03-01 01:45:38
【问题描述】:

是否可以用数字键构建数组但将项目分配给任意键号?

$test = array(23=>'first thing', 245=>'second thing'); 

【问题讨论】:

  • 是的,这完全没问题,但是您特别担心的是什么?
  • 我不明白为什么不,那么如果你需要循环进入这个数组,你可以使用foreach循环。
  • 反对票是怎么回事,这是一个合法的问题。

标签: php arrays array-key


【解决方案1】:

它本质上没有任何问题,特别是如果您考虑构建一个像您将 ID 分配给值的方法。如果您正在执行类似从 for($i=0;$i<1000000;$i++) 循环查找值的操作,那么是的,您可能需要重新考虑如何编写它。

【讨论】:

  • for 对非数组没有任何意义。与问题无关。你看,你想添加更多的词来适应“好答案的指导方针”,但是你添加了不相关的信息。有什么理由这样做吗?
  • @zerkms 这怎么不是数组?
  • 它是散列,而不是数组。而且,是的,有区别。而且,再次,是的,我知道 php 中没有“真正的”数组。对于遍历哈希,php 中有一个 foreach
  • @zerkms 另外,for($i=0;$i<count($test);$i++){$blah = array_pop($test);} 一个带有关联数组的 for 循环。
  • 它修改了原始数组。与foreach 相比,没有任何利润。仍然只是一个有音量的词(没有任何正当理由)
【解决方案2】:

是的

【讨论】:

  • 我知道关于这个话题没什么好说的,但你可以做得比“是的”好一点。
  • @Madmartigan:有一个具体问题假定相同的具体答案。向询问字母表的人解释量子物理学是没有意义的
  • 不是反对者,但可能是因为您没有对答案提供任何解释。它发帖人正在寻找的确切答案,但在 42.4k 时,您知道有答案指南,就像有问题一样
  • @zerkms 我澄清了什么会使它正常,从而为我的回答增加价值。 Ed S. 解释了他在做什么。两者都为答案添加了有用的信息
  • 对于将来偶然发现这一点的任何人,这就是 可能在互联网上产生分歧并且 不能 不文明的原因互相抽搐。
【解决方案3】:

是的,这是一个关联数组,这就是它有用的原因。

【讨论】:

  • “这是一个关联数组,这就是它有用的原因” --- 作为一个关联数组如何使数组有用?可能我只是无法理解基本概念,但是这句话本身让我很困惑:-S
  • @zerkms:如果你只能添加元素 0-N 那么它就不是一个非常有用的关联数组......它只是一个“普通”数组。
  • 是的,这就是哈希的工作方式。仍然看不到任何额外的用处,因为它是“设计”的功能
  • @zerkms: ...是的,显然这是设计使然,这就是重点。你读过这个问题吗?同样有趣的是,当您回答“是”时您会对此提出质疑。
  • 是的,我做到了。而且我看不到任何有关设计实用性的信息。它是关于“是否可以”。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-03-31
  • 2022-11-25
  • 2012-08-09
  • 2011-04-29
  • 2011-12-03
  • 2011-04-08
  • 1970-01-01
相关资源
最近更新 更多