php - 如何从数组中删除值但保持索引不变

标签 php arrays

我有一个数组:$myarray = array(153=>2, 154=>0, 155=>10, 156=>15, 157=>8)

我做了:sort($myarray); 然后,为了删除最低的,我做了两次 array_shift,但是重新排序了索引...但是我需要保持索引不变。

要求的输出是 :$myarray = array(155=>10 , 156=>15 , 157=>8)

数组是动态的,所以索引是未知的。

最佳答案

首先:您的错误开始于使用 sort() - 它将重置键。使用 asort()反而。接下来,使用 array_slice()第四个参数为 true 以保留 key :

$myarray = array(153=>2 , 154=>0 , 155=>10 , 156=>15 , 157=>8);
asort($myarray);
$myarray = array_slice($myarray, 2, null, true);

关于php - 如何从数组中删除值但保持索引不变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20418607/

相关文章:

php - 内存缓存限制(MySQL 和 PHP)

javascript - Javascript中变量赋值后的逗号

javascript - 将新对象添加到 JS 数组中

php - 涵盖输入日期范围所有日期的日期范围组合

php - 如何使用 PHP 执行 bash 脚本?

php - MySQL 列 json 与连接

c# - 在 C# 中使用带有字符串数组的 'foreach' 循环

c++ - 如何在不更改原始数组的情况下对指向结构的指针数组进行排序?

C - 在动态数据结构中将数组重新分配为两倍大小的数组是否有效?

javascript - 发送由 onClick 函数触发的特定元素