1 тип вопроса
$transport = array('foot', 'bike', 'car', 'plane');
я могу удалить плоскость? существует ли путь?
2 типа вопроса
$transport = array('', 'bike', 'car', ''); // delate the last line
$transport = array('', 'bike', 'car', 'ferrari'); // dont the last line
$transport = array('ship', 'bike', 'car', 'ferrari'); // dont the last line
существует ли простой способ удалить последний массив, "если в последний раз выстраивают значение, пусто, затем удаляют", если не пустой затем не удаляют? но не удалить первый массив?
if(empty($transport[count($transport)-1])) {
unset($transport[count($transport)-1]);
}
Самый простой способ: array_pop () , который вытолкнет элемент конца массива.
По поводу 2-го вопроса:
if (end($transport) == "") {
array_pop($transport);
}
Следует обработать второй.
РЕДАКТИРОВАТЬ:
Изменен код, чтобы соответствовать обновленной информации. Это должно работать с ассоциативными или индексированными массивами.
Исправлен array_pop с учетом комментария Скотта. Спасибо, что заметили это!
Исправлена фатальная ошибка, я думаю, что empty нельзя использовать с end, как у меня. Приведенный выше код больше не будет перехватывать null / false, если это необходимо, вы можете назначить переменную из конечной функции и проверить это следующим образом:
$end_item = end($transport);
if (empty($end_item)) {
array_pop($transport);
}
Извините за отправку неверного кода. Вышеупомянутое я тестировал.
для №1,
$transport=array_slice($transport,0,count($transport)-1)