✅ Notizie, temi, plugin WEB e WordPress. Qui condividiamo suggerimenti e le migliori soluzioni per siti web.

Dividi stringhe e numeri interi in PHP

18

Lavorare con stringhe, numeri ed espressioni regolari in PHP è relativamente facile dato il vasto numero di funzioni fornite dal linguaggio.

Ci sono momenti, tuttavia, in cui capire come dividere in base a determinati criteri potrebbe non essere immediatamente chiaro, oppure potrebbe essere chiaro cosa devi fare ma non come farlo al meglio.

Foto di Agê Barros su Unsplash

Ad esempio, supponiamo di avere una stringa mescolata con numeri e cifre. Per questo post, diciamo che una determinata stringa:

  • include ore e minuti,
  • quando i minuti sono a 60,
  • la stringa dovrebbe aumentare di uno il valore delle ore
  • il valore dei minuti viene azzerato.

Un esempio, stringa problematica, quindi, potrebbe essere della forma T3H60M. Come potremmo allora dividere la stringa in stringhe e numeri interi e ricostruirla correttamente?

In questo caso, ci sono tre cose che ho trovato utili. Senza un ordine particolare:

E l’ordine in cui le operazioni di utilizzo di ciascuna delle precedenti vanno in questo modo:

  1. usa un’espressione regolare per trovare tutte le cifre nella stringa,
  2. rimuovere tutto tranne le cifre nell’array
  3. se la seconda cifra è 60, impostala uguale a zero
  4. aumentare di uno il primo indice dell’array
  5. ricostruire la stringa.

Se i passaggi precedenti fossero stati convertiti in codice, questo potrebbe essere come sarebbe:

Si noti che ho scelto di utilizzare array_filter per rimuovere i valori duplicati e utilizzare array_values ​​per ripulire l’array in solo due voci, la prima delle quali è l’ora, la seconda delle quali è il minuto.

Successivamente, determino il valore di ciascuno degli indici dell’array (e ricorda, sono stringhe, quindi dovrai eseguirne il cast come interi per aumentare correttamente il loro valore.

Infine, costruisco la stringa come (e se) necessario.

Certo, questo è un caso un po’ di nicchia, ma la soluzione può essere più generalizzata in base alle proprie esigenze.

Fonte di registrazione: tommcfarlin.com

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More