ФорумПрограммирование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, 1: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, 1:51 п.п., спустя 13 минут 5 секунд

    Timur
    Спасибо!
  • DonDiego

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

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

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

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