Есть много возможных способов сделать это в PHP, так как PHP очень богат массивами и строковыми функциями.
В этом ответе обсуждаются два подхода.
По сути, вы хотите удалить элементы из массива.
Итак, возьмите другой массив с элементами, которые вы хотите удалить.
Узнайте разницу между вашим массивом и новым массивом.
Разница определенно будет вашим ожидаемым результатом.
Вы можете использовать array_diff()
Красота этого подхода:
Вы можете сделать это с минимальными строками кода, также не требуется никаких циклов.
<code>$fruits = ['apple', 'orange', 'melon', 'banana', 'pineapple'];
$remove = ['apple', 'orange', 'melon', 'banana'];
$test = array_diff($fruits, $remove);
echo '<pre>';print_r($test);echo '
';
Выход:
Array
(
[4] => pineapple
)
Или даже используя array_interset()
Возьмите временный массив с единственными элементами, которые вы хотите сохранить в своем массиве.
Получить массив пересекающихся элементов.
У вас будут удалены все остальные элементы.
<code>$fruits = ['apple', 'orange', 'melon', 'banana', 'pineapple'];
$two = ['pineapple'];
$test2 = array_intersect($fruits, $two);
echo '<pre>';print_r($test2);echo '
';
Выход:
Array
(
[4] => pineapple
)