Вы можете использовать следующий код для извлечения и удаления элемента по его индексу:
function array_cut(&$array, $key) {
if(!isset($array[$key])) return null;
$keyOffset = array_search($key, array_keys($array));
$result = array_values(array_splice($array, $keyOffset, 1));
return $result[0];
}
Затем вы можете использовать его следующим образом:
echo "Numerically Index Test:\n";
$a = array(0,1,2,3,4,5,6);
echo array_cut($a, 2) . "\n";
var_dump($a);
echo "------------------------------\n";
echo "Assosiative Index Test:\n";
$b = array('hello' => 'world', 'how' => 'like that', 'where' => 'Stack Overflow');
echo array_cut($b, 'how') . "\n";
var_dump($b);
Выходы:
Numerically Index Test:
2
array(6) {
[0]=>
int(0)
[1]=>
int(1)
[2]=>
int(3)
[3]=>
int(4)
[4]=>
int(5)
[5]=>
int(6)
}
------------------------------
Assosiative Index Test:
like that
array(2) {
["hello"]=>
string(5) "world"
["where"]=>
string(14) "Stack Overflow"
}