Здавалося б, доволі тривіальне завдання, і потрібна функція мала б бути вбудована в ядро PHP, але, на жаль, її немає. Тож доводиться шукати власні рішення для реалізації цієї функціональності. Одне з рішень видалення елемента масиву за його значенням наведене нижче:
if(($delete_key = array_search($search_value, $my_array)) !== false)
{
unset($my_array[$delete_key]);
}Можна сказати — дві строчки, і функціонал готовий.
Давайте детальніше розглянемо код вище:
array_search() — здійснює пошук зазначеного значення в масиві й повертає відповідний ключ у разі успіху
unset() — видаляє змінну або елемент масиву
В операторі «if» ми одночасно виконуємо три дії:
- Шукаємо ключ у масиві за допомогою функції array_search()
- Присвоюємо результат пошуку змінній $delete_key
- Перевіряємо результат на тип (щоб переконатися, що він не є false)
І, нарешті, якщо вміст «$delete_key» не дорівнює «false», — ми видаляємо елемент масиву за ключем.
