2011-01-18 2 views
10

Как удалить элемент из массива?Удалить строку из php-массива

Например:

$data = Array('first' , 'second' , 'third'); 
array_delete($data[2]); 

#$data would now read Array('first', 'second') 

существует ли такая встроенная функция? Спасибо.

+1

возможно дубликат [Как удалить элемент массива, основанный на ключе] (http://stackoverflow.com/questions/1672156/how-to-delete-an-array-element- основанный на ключ) –

ответ

23

Да. я бы сделал его короче, но ему нужно по крайней мере 30-часовое. , так что вы здесь:

unset($data[2]); 
+0

Хорошая скорость публикации, вы тренируетесь? :) – MDI

5

Вышеупомянутые ответы работают. Но вот что я получил от сайта, указанного ниже. Я думаю, что это круто.

//deletes a number on index $idx in array and returns the new array 
function array_delete($idx,$array) { 
    unset($array[$idx]); 
    return (is_array($array)) ? array_values($array) : null; 
} 

http://dev.kafol.net/2009/02/php-array-delete.html

+1

да, возвращение удаленной записи - это хорошо ... очень похоже на сращивание в javascript (есть дополнительный параметр, который говорит, сколько элементов нужно удалить) – alfred

Смежные вопросы