Формат Даты:PHP - Формат даты массива и Сравнить
$nonzero_task_date = array_map(function($values)
{
return date('d-m-Y', strtotime($values));
}, $nonzero_task_date);
$date_arr = array_map(function($value)
{
return date('d-m-Y', strtotime($value));
}, $date_arr);
Дата массива:
print_r($date_arr);
Array
(
[0] => 13-04-2015
[1] => 14-04-2015
[2] => 15-04-2015
[3] => 16-04-2015
[4] => 17-04-2015
[5] => 18-04-2015
[6] => 19-04-2015
)
print_r($nonzero_task_date);
Array
(
[0] => 16-04-2015
[1] => 14-04-2015
[2] => 13-04-2015
[3] => 16-04-2015
[4] => 17-04-2015
)
foreach ($date_arr as $row) {
//$format_date = new DateTime($row);
//$date_format = $format_date->format('d-m-Y');
//compare dates
if((in_array($row, $nonzero_task_date))){
$sql = 'update query';
}
}
Приведенный выше код форматирует дату, но терпит неудачу, когда даты по сравнению с использованием in_array()
?
Также он замедляет процесс sql и требует времени из-за количества записей в БД, если дата отформатирована в цикле foreach.
Ели из всех, вы уверены, что этот процесс медленный из-за этого кода? Похоже, вы пытаетесь преждевременно оптимизировать его без надлежащего профилирования. – Alik
Да, это медленно, когда я форматирую дату внутри foreach. Форматирование его перед циклом поможет удалить ненужное форматирование даты внутри цикла – Slimshadddyyy
Итак, вы надеетесь найти формат способа для массива дат без цикла по массиву? –