【发布时间】:2023-03-18 14:34:01
【问题描述】:
这里是初学者。我有两个数组,一个包含我的值($m1),另一个包含我想用作键的内容($pn)(非唯一字符串)。它们具有相同的长度 (465),并且 $pn[0] 是 $m1[0] 值的键。我使用这样的 foreach 循环将它们合并为键值对:
$result = array ();
foreach($pn as $key => $value){
$result[] = array($value => $m1[$key]);
}
如果我这样做并在 $result 上尝试 print_r,我确实会看到分配的键和值。现在我需要获取 93 个最大值及其对应的键。我尝试使用 asort 但它没有按值对数组进行排序,它只是以某种方式把它搞砸了。如果有人有答案,我将不胜感激。非常感谢!
【问题讨论】:
-
array_combine() 是你想要的函数
-
我有非唯一的字符串作为键。 array_combine 不能这样做,它以某种方式将值与相同的键合并。或者当我尝试使用它时发生了类似的事情。 foreach 循环似乎工作得很好,但我无法对它产生的数组进行排序。
-
如果它们是非唯一键,那么你想发生什么?
-
使用 array_combine() 后,您应该能够对新数组执行排序。
-
我想对数组进行排序,得到93个最大值及其对应的键。
标签: php sorting merge associative-array