php - php中关联数组的前两个元素

标签 php associative-array

我已经完成了这个的最终目标,但也许有更优雅的方法来完成这个。

如果我有这样的数组:

$data = array(
    'wood' => 2,
    'metal' => 5,
    'plastic' => 3, 
);

我想从 $data 中获取前 2 个键/值对(即 metal:5 和 plastic:3)。这是我想出的:

arsort($data);       //put values in order
reset($data);           //set pointer to first element
$first = each($data);    //assign first element to $first
array_shift($data); //remove first element from array
reset($data);           //set pointer to the new first element
$second = each($data); //assign the new first element to $second

最佳答案

为了获得键和值,我会这样做:

arsort($data);
$result = array_slice($data,0,2);

关于php - php中关联数组的前两个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4445077/

相关文章:

php - 尽管数据库和连接设置为 UTF8,MySQL 仍会删除破折号

php - Laravel eloquent mutators 不适用于更新数据

php - 关联数组的 array_slice

php - 迭代 MySQL 关联数组以构建新的 MySQL 结果集

javascript - javascript中的对象和关联数组有什么区别?

使用关联数组对 PHP 进行 JSON 编码

php - 如果我不绑定(bind),则查询有效,但当我绑定(bind)时,查询会失败。我的错误在哪里?

php - MySQL 多个 "AND"语句

php - fetch_array() 不保留查询中的 ORDER BY

php - 制作多个数组的每个组合,而不重复每个数组中的项目