✅ WEB- ja WordPress -uutiset, -teemat, -laajennukset. Täällä jaamme vinkkejä ja parhaita verkkosivustoratkaisuja.

Jaa merkkijonot ja kokonaisluvut PHP:ssä

4

Merkkijonojen, numeroiden ja säännöllisten lausekkeiden käyttäminen PHP:ssä on suhteellisen helppoa ottaen huomioon kielen tarjoamat suuret toiminnot.

Joskus on kuitenkin aikoja, jolloin tiettyjen kriteerien jakamisen selvittäminen ei välttämättä ole heti selvää, tai voi olla selvää, mitä sinun tulee tehdä, mutta ei sitä, miten se tehdään parhaiten.

Kuva: Agê Barros Unsplashista

Oletetaan esimerkiksi, että sinulla on merkkijono, jossa on sekä numeroita että numeroita. Oletetaan tätä viestiä varten, että tietty merkkijono:

  • sisältää tunnit ja minuutit,
  • kun minuutit ovat 60,
  • merkkijonon tulee lisätä tuntien arvoa yhdellä
  • minuuttien arvo nollataan.

Esimerkki ongelmallisesta merkkijonosta voi siis olla muotoa T3H60M. Kuinka sitten voisimme jakaa merkkijonon merkkijonoiksi ja kokonaisluvuiksi ja rakentaa sen oikein uudelleen?

Tässä tapauksessa olen kokenut hyödyllisiksi kolme asiaa. Ei tietyssä järjestyksessä:

Ja järjestys, jossa kunkin yllä olevan käyttötoiminnot ovat suunnilleen seuraava:

  1. käytä säännöllistä lauseketta löytääksesi kaikki merkkijonon numerot,
  2. poista kaikki paitsi taulukon numerot
  3. jos toinen numero on 60, aseta se nollaksi
  4. lisää taulukon ensimmäistä indeksiä yhdellä
  5. rakentaa merkkijono uudelleen.

Jos yllä olevat vaiheet muunnetaan koodiksi, se voisi näyttää tältä:

Huomaa, että päätän käyttää array_filter -komentoa poistaakseni päällekkäisiä arvoja ja käyttää array_values -funktiota taulukon puhdistamiseen kahdeksi merkinnäksi, joista ensimmäinen on tunti ja toinen minuutti.

Sen jälkeen määritän taulukon jokaisen indeksin arvon (ja muista, että ne ovat merkkijonoja, joten sinun on annettava ne kokonaislukuina, jotta niiden arvo kasvaa kunnolla.

Lopuksi rakennan merkkijonon tarpeen mukaan (ja tarvittaessa).

Toki tämä on vähän niche-tapaus, mutta ratkaisua voi yleistää omien tarpeidesi perusteella.

Tämä verkkosivusto käyttää evästeitä parantaakseen käyttökokemustasi. Oletamme, että olet kunnossa, mutta voit halutessasi kieltäytyä. Hyväksyä Lisätietoja