Kirjoittaja: Antti Laaksonen
Kirjoitettu: 25.07.2009 – 20.11.2011
Tagit: ohjelmointitavat, teksti, koodi näytille, vinkki
Tämä koodivinkki esittelee merkkijonojen käyttöä PHP:llä.
Merkkijono on tekstiä sisältävä muuttuja:
<?php $nimi = "Antti"; $paiva = "lauantai"; ?>
Funktio strlen
kertoo, kuinka monta merkkiä merkkijonossa on.
Merkkijonon tietyssä kohdassa olevan merkin saa selville hakasulkujen avulla. Ensimmäinen merkki on kohdassa 0, toinen on kohdassa 1 jne.
<?php $mjono = "putka"; echo $mjono[1]; // tulostus: u ?>
Vastaavalla tavalla voi myös muuttaa merkkijonoa:
<?php $mjono = "putka"; $mjono[4] = "i"; echo $mjono; // tulostus: putki ?>
Seuraava koodi käy läpi kaikki merkkijonon merkit:
<?php $mjono = "putka"; for ($i = 0; $i < strlen($mjono); $i++) { echo "$i = $mjono[$i]\n"; } // tulostus: // 0 = p // 1 = u // 2 = t // 3 = k // 4 = a ?>
Funktion substr
avulla merkkijonosta voi erottaa osia alusta, keskeltä ja lopusta.
Seuraava koodi tulostaa kolme merkkiä merkkijonon alusta:
Seuraava koodi tulostaa kolme merkkiä merkkijonon lopusta:
Seuraava koodi tulostaa kolme merkkiä toisesta merkistä alkaen:
Funktio strpos
kertoo, missä kohdassa merkkijonoa on toinen merkkijono:
<?php $mjono = "Ohjelmointiputka"; $haku = "putka"; $kohta = strpos($mjono, $haku); echo $kohta; // tulostus: 11 ?>
Jos merkkijono on monessa kohdassa, strpos
ilmoittaa ensimmäisen kohdan:
<?php $mjono = "Ohjelmointiputka"; $haku = "i"; $kohta = strpos($mjono, $haku); echo $kohta; // tulostus: 7 ?>
Jos merkkijono ei ole missään kohdassa, strpos
palauttaa arvon false
:
<?php $mjono = "Ohjelmointiputka"; $haku = "selli"; if (strpos($mjono, $haku) !== false) { echo "löytyi!"; } if (strpos($mjono, $haku) === false) { echo "ei löytynyt!"; } // tulostus: ei löytynyt! ?>
Funktio str_replace
korvaa merkkijonossa tietyn merkkijonon toisella:
<?php $mjono = "PHP on huono kieli"; echo str_replace("huono", "hyvä", $mjono); // tulostus: PHP on hyvä kieli ?>
Jos korvattava merkkijono on monessa kohdassa, str_replace
korvaa sen kaikissa kohdissa:
<?php $mjono = "halla"; echo str_replace("a", "u", $mjono); // tulostus: hullu ?>
Funktio ord
selvittää merkin ASCII-koodin:
Funktio chr
selvittää ASCII-koodia vastaavan merkin: