За последние 24 часа нас посетили 22758 программистов и 1263 робота. Сейчас ищут 780 программистов ...

Как убрать null элементы из массива

Тема в разделе "PHP для новичков", создана пользователем Dasderdas, 12 сен 2022.

  1. Dasderdas

    Dasderdas Новичок

    С нами с:
    29 мар 2022
    Сообщения:
    69
    Симпатии:
    0
    Есть обычный массив где иногда элементы принимают значение NULL при этом занимают свой порядковый индекс "[0]=> NULL [1]=> NULL [2]=> NULL [3]=> NULL [4]=> string(381) " Как тут первые 4 элемента. Как полностью убрать эти значения?
    Вряд-ли надо, но вот мой массив
    PHP:
    1.   $arr = array($gsp,$qsp,$ssp,$usp,$ueb,$qk,$qp,$qb);
     
  2. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.824
    Симпатии:
    736
    Адрес:
    Татарстан
    зависит от того - нужно ли ключи в том же порядке сохранить
    например
    PHP:
    1. array_filter($you_array,"trim");
     
    Dasderdas нравится это.
  3. Dasderdas

    Dasderdas Новичок

    С нами с:
    29 мар 2022
    Сообщения:
    69
    Симпатии:
    0
    При таком варианте элементы сохраняют свой индекс вместо того что-бы принять освободившийся
    Можно это исправить?
     
  4. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.824
    Симпатии:
    736
    Адрес:
    Татарстан
    непонятен смысл вашего выражения - "принять освободившийся"
    надо чтоб нумерация массивов шла с 0 подряд?
     
    Dasderdas нравится это.
  5. Dasderdas

    Dasderdas Новичок

    С нами с:
    29 мар 2022
    Сообщения:
    69
    Симпатии:
    0
    ну мы удаляем элементы массива, при этом элементы что не удаляем сохраняют за собой свой индекс что и до удаления других
    "надо чтоб нумерация массивов шла с 0 подряд?" наверное так
     
  6. Sail

    Sail Старожил

    С нами с:
    1 ноя 2016
    Сообщения:
    1.591
    Симпатии:
    360
    Тогда ещё через array_values() пропустить можно.
    PHP:
    --- Добавлено ---
    А чтобы отличить NULL от false, пустых строк и нулей - исользовать проверку isset() в callback-функции.
     
    Dasderdas нравится это.
  7. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.792
    Симпатии:
    650
    Для пыха это норм. Нужно переиндексировать. См. пост выше или «пересобери» массив в цикле за один проход.
     
    Dasderdas нравится это.
  8. Dasderdas

    Dasderdas Новичок

    С нами с:
    29 мар 2022
    Сообщения:
    69
    Симпатии:
    0
    Круто, спасибо!
    --- Добавлено ---
    Спасибо!