PHP从数组中提取部分保留以前的键

Posted

技术标签:

【中文标题】PHP从数组中提取部分保留以前的键【英文标题】:PHP extract part from array keeping previous keys 【发布时间】:2011-06-15 19:42:50 【问题描述】:

我有带有特定键的数组。我想获得前 5 个数组元素。我使用array_splice()。一切正常,但新数组中的键是 0, 1, 2, 3 ,4。我想保留以前的数组键。我可以用foreach 来做,但我正在寻找优雅的方法。我的代码:

$levels = array('a' => 1, 'b' =>2, 'c' => 3, 'd' => 4, 'f' => 5, 'g' => 6);
$levels = array_splice($levels, 5);

提前谢谢你。对不起我的英语。

【问题讨论】:

【参考方案1】:

使用array_slice,不修改原数组:

$levels = array('a' => 1, 'b' =>2, 'c' => 3, 'd' => 4, 'f' => 5, 'g' => 6);
$firstLevels = array_slice($levels, 0, 5, true);
// count($levels) is 6, count($firstLevels) 5

【讨论】:

【参考方案2】:

尝试将array_slice 设置为$preserve_keystrue

【讨论】:

以上是关于PHP从数组中提取部分保留以前的键的主要内容,如果未能解决你的问题,请参考以下文章

从数组 PHP 中提取 [cat_ID]

PHP:从 XML 字符串中提取数据并添加到数组

如何从列中获取最大年份并保留其余部分?

php数组的重复值如何过滤掉

php保留键随机打乱数组顺序

如何从一个数组中提取零并将非零部分保存到另一个数组?