删除数组中的第一项并保持键索引

时间:2018-10-10 18:51:40

标签: php arrays

我试图在保留键的同时从数组中删除第一个键和值。

我似乎无法使这种方法适用于所有阵列。

这是我的$ mag_cats_arr:

Array ( [6] => Science [9] => hashgraph [4] => Blockchain )

使用array_slice可以重置密钥,但是我需要它们:

$mag_cats_arr = array_slice($mag_cats_arr,1);
Array ( [0] => hashgraph [0] => Blockchain ) (Science is gone here)

在删除此数组中的第一个([6] => Science)时,如何保留键?

2 个答案:

答案 0 :(得分:3)

  

使用array_slice可以重置密钥

array_slice()具有第四个参数,可防止对结果数组重新编制索引。 cf. http://php.net/array-slice

答案 1 :(得分:0)

简单,假设您要删除数组的第一个元素,并且尚未对其进行foreach或其他处理。

 unset($mag_cats_arr[key($mag_cats_array)]);

key()函数返回第一个元素(或指针所在的位置),然后unset将其删除。

注意:如果您对数组进行了某些操作(例如循环),请不要忘记reset数组