"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como classificar matrizes de datas com formatos diferentes em PHP?

Como classificar matrizes de datas com formatos diferentes em PHP?

Publicado em 2024-11-08
Navegar:223

How to Sort Date Arrays with Different Formats in PHP?

Classificação de array de datas em PHP

Classificar um array de datas em PHP pode ser complicado, especialmente se as datas não estiverem em um formato padronizado.

Em seu caso específico, você tem uma matriz de datas em formatos diferentes, como "01-11-2012" e "01-01-2014". Usar a função asort, que classifica arrays por valores em ordem crescente, não funcionará neste caso porque trata cada data como uma string e ignora a hierarquia ano-mês-dia.

Para classificar corretamente seu array, você pode usar uma função de classificação personalizada que converte cada data em um formato classificável antes da comparação.

Convertendo datas em carimbos de data e hora UNIX

Um método simples é converter cada data em um carimbo de data/hora UNIX usando a função strtotime(). Os carimbos de data/hora UNIX representam datas como o número de segundos desde 01/01/1970, o que os torna fáceis de comparar e classificar.

Aqui está um exemplo de uso de uma função de classificação personalizada para classificar as datas usando carimbos de data/hora UNIX:

usort($arr, function ($a, $b) {
    return strtotime($a) - strtotime($b);
});

Esta função receberá duas datas como entrada (representadas pelas variáveis ​​$a e $b) e retornará a diferença entre seus carimbos de data/hora UNIX. A matriz resultante será classificada em ordem cronológica crescente.

Considerações Adicionais

É importante observar que este método assume que todas as datas estão no mesmo formato. Se suas datas vierem de fontes diferentes ou usarem formatos de data diferentes, você precisará usar uma biblioteca de conversão e análise de data mais robusta.

Declaração de lançamento Este artigo foi reimpresso em: 1729513697 Se houver alguma violação, entre em contato com [email protected] para excluí-lo
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3