【发布时间】:2012-11-03 18:39:23
【问题描述】:
我有像
这样的关联数组array
{
[company 1]=>array
(
[1981] => 1
[1945] => 3
)
[company 2]=>array
(
[1990] => 18
[2005] => 13
)
[company 3]=>array
(
[1950] => 6
[2012] => 9
)
}
我想获得最低和最高的密钥,即 1945 和 2012。 我怎样才能做到这一点?我已经搜索过 stackoverflow,Hightest value of an associative array 是最接近的可能性,但它给出了最小值和最大值,我想要最小值和最大值键。
**我不想使用 foreach 循环 **
【问题讨论】:
-
“我不想使用 foreach 循环”这个任意要求是怎么回事?
-
我的结果数组非常大,因此在使用 foreach 递归和构建新数组时会消耗大量时间。而如果可以使用 min 或 max 函数来做到这一点,那将是非常有益的。
-
-1 表示任意限制,禁止为此类工作制作的工具。事实上,需求将这个问题带到了“过于本地化”和“没有建设性”的交叉点。
-
@cHao 我认为这可以使用 array_keys、min、max、array_map 函数来完成......我只是不知道如何......这就是我在这里问的原因......我已经告诉了我的原因避免在以前的commnet中使用foreach ..
-
@Deadlock:你的理由无效。无论如何,您将不得不遍历整个数组(以及其中的每个数组,除非您已经对子数组进行了排序)。这些都不需要创建新数组。不过有趣的是:如果您使用
array_keys或array_map,无论如何您都在创建一个新数组。
标签: php arrays associative-array