как вы наверное сами заметили, если значения нет, то удаляется первый элемент массива. Во-вторых, удаляется только один элемент с нужным значением, а не все.
joost Какая разница, сколько места занимает код? Главное не это, а то, сколько времени он выполняется и сколько затрачивает ресурсов.
Simpliest
Как ты можешь заметить приведенный выше код можно записать в одну строку даже с проверкой включительно.
Без флипов массива. Который с точки зрения ресурсов несколько сложнее простого поиска
samba33
Можно еще загнать удаляемое значение в массив и использовать array_diff
titch
samba33, зачет! сам так делаю. но для многомерок не канает, это раз. и проблемы с ключами — это два
Первый вариант выигрывает по скорости (примерно в 800 раз быстрее в моих тестах) с большими массивами у второго, если удалять все значения. Если удалять первое, то второй вариант шустрее. Поэтому есть третий вариант, он выигрывает у обоих. Тестил на массиве из 10000 записей