我有一个数组:$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/