php- Как создать цикл для этого кода

Как я могу использовать цикл (for, forEach, while и т. Д.) Для следующей части кода.
Здесь «tarray» представляет собой массив из 10 значений.
Часть кода:

$string = $tarray[0];
$datetime = strtotime($string);
$datetime1 = date("Y-m-d H:i:s", $datetime);
list($year, $month, $day, $hours, $minutes, $seconds) = explode('-', $datetime1);

$string = $tarray[1];
$datetimea = strtotime($stringa);
$datetime2 = date("Y-m-d H:i:s", $datetimea);
list($year, $month, $day, $hours, $minutes, $seconds) = explode('-', $datetime2);

Я хочу написать это только один раз вместо объявления нескольких переменных.

1

Решение

Я думаю, что вы хотите так: —

$date_array = [];
foreach($tarray as $tar){
$datetime1 = date("Y-m-d-H-i-s",strtotime($tar));
$date_array[] = array_combine(['year', 'month', 'day', 'hours', 'minutes', 'seconds'], explode('-', $datetime1));
}

Демоверсия: — https://eval.in/897154

Примечание: — вы можете использовать list($year, $month, $day, $hours, $minutes, $seconds) = explode('-', $datetime1); Также там без каких-либо проблем.

Демо выход: —https://eval.in/897156

2

Другие решения

Используйте цикл foreach следующим образом:

$arr = ['Hello', 'world', 'John'];
foreach($arr as $string) {
echo $string;
}

Итак, в вашем случае:

foreach($tarray as $string) {
$datetime = strtotime($string);
$datetime1 = date("Y-m-d H:i:s", $datetime);
list($year, $month, $day, $hours, $minutes, $seconds) = explode('-', $datetime1);
}
0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector