Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как удалить елемент массива php, не потеряв ключи?

VECR Ученик (23), закрыт 1 год назад
У меня есть условный json:
 ["Apple","Microsoft","Yandex"] 
При попытке использывать скрипт:
 unset($arr[1]); 
Массив теряет ключи и превращается в:
 {"0":"Apple","2":"Yandex"} 
Как это исправить чтобы на выходе получить...?
 ["Apple","Yandex"] 
Лучший ответ
Степан Батманов Мастер (1479) 1 год назад
Чтобы удалить элемент из массива в PHP без потери ключей, вы можете использовать функцию array_splice. Она позволяет удалить элементы массива, сохраняя при этом его ключи. Вот как это можно сделать с вашим примером:

```php
$arr = ["Apple", "Microsoft", "Yandex"];
$key = 1;

array_splice($arr, $key, 1);

print_r($arr);
```

Результатом выполнения данного кода будет:

```
Array
(
[0] => Apple
[1] => Yandex
)
```

Таким образом, элемент с ключом 1 ("Microsoft") будет удален из массива, и ключи оставшихся элементов сохранятся.
Остальные ответы
Андрей Высший разум (482550) 1 год назад
Для упорядочивания ключей после удаления элементов можно использовать функцию array_values:
 $arr = ["Apple","Microsoft","Yandex"];
unset($arr[1]);
$arr = array_values($arr);
echo json_encode($arr);
Похожие вопросы