ФорумПрограммированиеPHP для идиотов → Удаление элементов из массива

Удаление элементов из массива

  • capricorn

    Сообщения: 8 Репутация: N Группа: Кто попало

    Spritz 20 октября 2007 г. 12:34

    Здрасъте!

    Вот вопросик:
    У меня есть, например, такой массив:

    $arr[1][0] = 1;
    $arr[1][1] = 2;
    $arr[1][2] = 3;
    $arr[1][4] = 4;
    $arr[1][8] = 5;


    Мне нужно УДАЛИТЬ (а не просто присвоить 0 значению элемента) элемент [1][2], напр.
    Как это сделать

    Я попробовал ф-ию:
    array_splice($arr[1], 2, 1); но после её выполненя, я не могу получить доступ к другим элементам:

    Print($arr[1][4]);

    Вижу это:

    Notice: Undefined offset: 4 in C:\WebServers\home\My\www\Engine\php7E.tmp on line 97

    т.е. этот элемент тоже удаляется =(.
    Как быть?

    Зарание спасибо!
  • Timur

    Сообщения: 1068 Репутация: N Группа: Джедаи

    Spritz 20 октября 2007 г. 13:38, спустя 1 час 4 минуты 40 секунд

    array_splice не сохраняет индексы. Т.е. если у тебя были индексы 0, 1, 2, 4, 8, то после удаления какого-нибудь элемента останется 0, 1, 2, 3.

    можно сделать проще:
    unset($ar[1][2]);


    зы: для отладки есть замечательная функция print_r()…
  • capricorn

    Сообщения: 8 Репутация: N Группа: Кто попало

    Spritz 20 октября 2007 г. 13:51, спустя 13 минут 5 секунд

    Timur
    Спасибо!
  • DonDiego

    Сообщения: 27 Репутация: N Группа: Кто попало

    Spritz 18 августа 2012 г. 22:31, спустя 1764 дня 8 часов 39 минут

    у меня к тебе большое светлое чувство, а ты в игрушки играешь

Пожалуйста, авторизуйтесь, чтобы написать комментарий!