Php从关联数组中删除元素并确定其位置


Php remove element from associative array with it's position

我有一个这样的关联数组:

$arr = array('id' => 3, 'title' => 'lorem ipsum');

现在,我想从数组中删除第一个元素,不管它的键,因为'id'有时可以是'm_id', 'e_id'…

这就是为什么我不能使用unset['id'],但我也不能使用unset[0],因为0不是它的关键。

我该怎么做?

array_shift($arr);

对于数组$arr = array('id' => 3, 'title' => 'lorem ipsum');,这将返回3并将数组$arr更改为$arr = array('title' => 'lorem ipsum');

文档:http://php.net/manual/en/function.array-shift.php

正如已经指出的,array_shift() shift是从任何数组中删除第一个元素的最佳函数。从关联数组中删除一个"编号"的元素(例如,第二个元素:

)
$arr = array('id' => 3, 'category' => 'test data', 'title' => 'lorem ipsum');
$element = 2;
$element = array_keys($arr)[$element-1];
unset($arr[$element]);

这将从数组中移除category元素

http://php.net/manual/en/function.array-slice.php

$arr = array('id' => 3, 'title' => 'lorem ipsum');
$arr = array_slice($arr, 1);