Kirjautuminen

Haku

Tehtävät

Koodit: PHP: Merkkijonot

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";
?>

Merkkijonon pituus

Funktio strlen kertoo, kuinka monta merkkiä merkkijonossa on.

<?php
$mjono = "putka";
echo strlen($mjono);
// tulostus: 5
?>

Yhden merkin käsittely

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
?>

Merkkijonon erotus

Funktion substr avulla merkkijonosta voi erottaa osia alusta, keskeltä ja lopusta.

Seuraava koodi tulostaa kolme merkkiä merkkijonon alusta:

<?php
$mjono = "putka";
$alku = substr($mjono, 0, 3);
echo $alku;
// tulostus: put
?>

Seuraava koodi tulostaa kolme merkkiä merkkijonon lopusta:

<?php
$mjono = "putka";
$loppu = substr($mjono, -3);
echo $loppu;
// tulostus: tka
?>

Seuraava koodi tulostaa kolme merkkiä toisesta merkistä alkaen:

<?php
$mjono = "putka";
$keski = substr($mjono, 1, 3);
echo $keski;
// tulostus: utk
?>

Merkkijonon haku

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!
?>

Merkkijonon korvaus

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
?>

Merkkikoodit

Funktio ord selvittää merkin ASCII-koodin:

<?php
echo ord("A");
// tulostus: 65
?>

Funktio chr selvittää ASCII-koodia vastaavan merkin:

<?php
echo chr(65);
// tulostus: A
?>

Kirjoita kommentti

Muista lukea kirjoitusohjeet.
Tietoa sivustosta