PHP关联数组

And*_*eda 2 php arrays

我在PHP中有一个关联数组

$asd['a'] = 10;
$asd['b'] = 1;
$asd['c'] = 6;
$asd['d'] = 3;
Run Code Online (Sandbox Code Playgroud)

我想根据它的值对它进行排序,并获得前4个值的键值.

我怎么能在PHP中做到这一点???

Zah*_*aka 7

asort()应该保持索引关联:

asort($asd);
Run Code Online (Sandbox Code Playgroud)

在那之后,一个简单的foreach可以获得接下来的四个值

$i = 0;
foreach ($asd as $key=>$value)
{
  if ($i >= 4) break;
  // do something with $asd[$key] or $value
  $i++;
}
Run Code Online (Sandbox Code Playgroud)

  • +1但可能想在那里的某个地方找到++ (4认同)

San*_*hal 5

替代其他答案.这个没有循环:

asort($asd);
$top_four_keys = array_slice(array_keys($asd), 0, 4);
Run Code Online (Sandbox Code Playgroud)