@Chloyka

Как удалить из массива все элементы до определенного?

Предположим мы имеем массив с датами содержащий неопределенное количество дат, прошлых и будущих, назовем его $date.
Массив $date сортирован по возрастанию дат.
Так же имеем сегодняшний день $today = date("d.m.Y");
Как удалить из массива $date все прошлые даты, оставив только сегодняшнее число и будущие числа?
  • Вопрос задан
  • 168 просмотров
Решения вопроса 1
Zoominger
@Zoominger
System Integrator
Циклом проходите весь массив до сегодняшнего числа и делаете для каждого элемента:
unset($array[$iterator]);

Или вообще вот так (переменные offset и length очевидны):
array_splice($array, $offset, $length);
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@DanKud
array_slice + array_search

$date = [
    '10.04.2019',
    '11.04.2019',
    '12.04.2019',
    '13.04.2019',
    '14.04.2019',
    '15.04.2019',
    '16.04.2019',
    '17.04.2019',
    '18.04.2019'
];

$today = date('d.m.Y');
$date = array_slice($date, array_search($today, $date));
print_r($date);

/*
Array
(
    [0] => 15.04.2019
    [1] => 16.04.2019
    [2] => 17.04.2019
    [3] => 18.04.2019
)
*/
Ответ написан
Комментировать
syamskoy
@syamskoy
$arr = ['a', 'b', 'c', 'd', 'e'];
$arr = array_splice($arr, array_search('c', $arr));
print_r($arr);

Result: Array ( [0] => c [1] => d [2] => e )

Пока писал уже ответили)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
28 апр. 2024, в 00:54
10000 руб./за проект
28 апр. 2024, в 00:53
70000 руб./за проект
27 апр. 2024, в 21:24
150000 руб./за проект