✅ Notícias, temas e plug-ins da WEB e do WordPress. Aqui compartilhamos dicas e as melhores soluções para sites.

Dividir strings e inteiros em PHP

12

Trabalhar com strings, números e expressões regulares em PHP é relativamente fácil, dado o grande número de funções que a linguagem oferece.

Há momentos, porém, em que descobrir como dividir em determinados critérios pode não ser imediatamente claro, ou pode ser claro o que você precisa fazer, mas não a melhor forma de fazê-lo.

Foto de Agê Barros no Unsplash

Por exemplo, digamos que você tenha uma string misturada com números e dígitos. Para este post, digamos que uma determinada string:

  • inclui horas e minutos,
  • quando os minutos estão em 60,
  • a string deve aumentar o valor do das horas em um
  • o valor dos minutos é zerado.

Um exemplo de string problemática, então, pode ser da forma T3H60M. Como então podemos dividir a string em strings e inteiros e reconstruí-la adequadamente?

Neste caso, há três coisas que considero úteis. Em nenhuma ordem particular:

E a ordem em que as operações de uso de cada um dos itens acima são mais ou menos assim:

  1. use uma expressão regular para encontrar todos os dígitos na string,
  2. remova tudo, exceto os dígitos na matriz
  3. se o segundo dígito for 60, defina-o igual a zero
  4. aumentar o primeiro índice do array em um
  5. reconstruir a corda.

Se as etapas acima foram convertidas em código, pode ser assim:

Observe que opto por usar array_filter para remover valores duplicados e usar array_values ​​para limpar a matriz em apenas duas entradas, sendo a primeira a hora e a segunda o minuto.

Depois disso, determino o valor de cada um dos índices do array (e lembre-se, eles são strings, então você terá que convertê-los como inteiros para aumentar adequadamente seu valor.

Finalmente, eu construo a string conforme (e se) necessário.

Claro, este é um caso um pouco de nicho, mas a solução pode ser mais generalizada com base em suas próprias necessidades.

Fonte de gravação: tommcfarlin.com

Este site usa cookies para melhorar sua experiência. Presumiremos que você está ok com isso, mas você pode cancelar, se desejar. Aceitar Consulte Mais informação