Miten voi muuttaa kokonaisluvun merkkijonoksi niin että alkuun tulee tietty määrä nollia?
8 -> 008
23 -> 023
134 -> 134
Tämä onnistuu vaikkapa str_pad-funktiolla. Parametrit ovat merkkijono, tasauspituus, tasausmerkki ja tasaustapa.
kiitos
Jospa käytettäisiin kuitenkin sprintf https://www.php.net/sprintf funktiota niin päästään yhdellä rivillä
<?php $luku = 8; // loppukommenteissa miten käyttäytyy 88 ja 888 tapauksessa $uusiluku = sprintf("%03d", $luku); // 8 = "008" // 88 = "088"; // 888 = "888"; // % aloittaa muotoilun, mahdollistaa tekstiin upotuksen // muodossa "Kolminumeroisena luku olisi %03d" // 0 on täyttömerkki, eli tässä tapauksessa luku täytetään // etunollilla // 3 on merkkijonon minimipituus // d kertoo että kyseessä on kokonaisluku ?>
Tuota, myös str_pad
vie vain yhden rivin. Ja parempi käyttää sitä funktiota, joka on nimenomaan tarkoitettu tuota varten, kuin yleiskäyttöistä sprintf
:ää.
Tässä vielä kolmas tapa:
Tämä on helppo toteuttaa monella muullakin kielellä.
lainaus:
Tässä vielä kolmas tapa:
<?php
echo substr("000" . $luku, -3);
?>Tämä on helppo toteuttaa monella muullakin kielellä.
olettaen, että luvut eivät siis ole neljänumeroisia tai suurempia.
Aihe on jo aika vanha, joten et voi enää vastata siihen.