Как удалить элемент многомерного массива php

Ответы
Аватар пользователя Nikolai Gagarinov
Nikolai Gagarinov
08 декабря 2021

В PHP для удаления элемента из массива используется функция unset. В функцию передаётся элемент к которому обращаются по ключам, например $data['foo']['bar']. Элемент удаляется из массива, но ключи не сбрасываются, т.е. мы можем получить неупорядоченный массив, если это не ассоциативный массив. Чтобы восстановить ключи необходимо перезаписать вложенный массив с помощью функции array_values. Если ключи будут не упорядоченны, то такой массив, например при преобразовании в JSON будет выглядеть как объект, а не массив json.

<?php
$data = [
  [1, 2, 3],
  [4, 5, 6],
];

unset($data[0][1]);

var_dump($data);
//=> array(2) {
//=>   [0] =>
//=>   array(2) {
//=>     [0] =>
//=>     int(1)
//=>     [2] =>
//=>     int(3)
//=>   }
//=>   [1] =>
//=>   array(3) {
//=>     [0] =>
//=>     int(4)
//=>     [1] =>
//=>     int(5)
//=>     [2] =>
//=>     int(6)
//=>   }
//=> }
Добавьте ваш ответ

Рекомендуемые курсы

пространства имен
импорты
ссылки
включения файлов
52 часа
Посмотреть
ORM
шаблонизация (blade)
роутинг
контроллеры
20 часов
Посмотреть
CGI
slim framework
шаблонизация
отправка форм
24 часа
Посмотреть