Как удалить элемент "php" из разделенного списка?

Как удалить элемент из переменной $spisok в PHP 7, если значение переменной имеет формат a:b:c и неизвестно, где именно находится элемент b, и при этом может быть любая комбинация элементов a, b и c, или даже отсутствие элемента c?
  • 6 октября 2023 г. 16:37
Ответы на вопрос 2
В PHP 7 можно использовать функцию explode() для разделения строки на элементы списка, а затем удалить нужный элемент массива с помощью функции unset(). 

Вот пример кода для удаления элемента "php" из переменной $spisok:

```php
$spisok = "a:b:c";
$arr = explode(':', $spisok); // разделяем строку на элементы массива

$key = array_search('b', $arr); // ищем индекс элемента "b" в массиве
if ($key !== false) { // если элемент найден
    unset($arr[$key]); // удаляем элемент из массива по найденному индексу
}

$spisok = implode(':', $arr); // объединяем элементы массива в строку с разделителем ":"
echo $spisok; // вывод: "a:c"
```

Также можно использовать функцию array_diff() для удаления элемента по значению:

```php
$spisok = "a:b:c";
$arr = explode(':', $spisok); // разделяем строку на элементы массива

$arr = array_diff($arr, ['b']); // удаляем элемент 'b' из массива

$spisok = implode(':', $arr); // объединяем элементы массива в строку с разделителем ":"
echo $spisok; // вывод: "a:c"
```

Такой код позволит удалить элемент "b" из списка, независимо от положения этого элемента в строке и наличия остальных элементов. Обратите внимание, что переменная $spisok будет содержать измененное значение после выполнения удаления элемента.
Переберите каждый элемент списка $arr и проверьте, равен ли его значение $b. Если равно, то удалите этот элемент из списка.
Похожие вопросы