Merkkijonon pituuden selvittäminen

PHP:
Merkkijonon pituuden selvittäminen

How to: / Kuinka:

PHP:ssä merkkijonon pituuden saat selvitettyä strlen-funktiolla. Tässä lyhyt esimerkki:

<?php
$esimerkki = "Moi maailma!";
$pituus = strlen($esimerkki);
echo $pituus; // Tulostaa: 12
?>

Jos käsittelet monitavuisia merkkijonoja, esim. UTF-8-koodattuja, käytä mb_strlen:

<?php
$esimerkki = "Hei maailma!";
$pituus = mb_strlen($esimerkki, 'UTF-8');
echo $pituus; // Tulostaa: 12, mutta ottaa huomioon monitavuiset merkit
?>

Deep Dive / Syväsukellus:

Aikoinaan, kun enemmistö merkkijonosta käytti yhden tavun merkistöjä (kuten ASCII), strlen oli suora ja nopea tapa selvittää merkkijonon pituus. Kuitenkin, kun kansainvälistyminen ja monitavuiset merkkistöt yleistyivät, syntyi tarve kuten mb_strlen, joka tukee monenlaisia merkistökoodauksia.

Vaihtoehto strlen-funktiolle on esimerkiksi graf_strlen(), joka laskee grafeemit (näkyvät merkkiyhdistelmät) Unicode merkkijonossa, joka on hyödyllinen joissain erittäin erikoistuneissa tapauksissa.

Toteutusyksityiskohtana, PHP:n sisäinen strlen on toteutettu C-tasolla ja on hyvin optimoitu. mb_strlen, vaikka hitaampi kuin strlen tavumerkkijonoille, on kriittinen, kun työskentelet UTF-8 merkkijonojen kanssa, jotta voit kunnolla käsittellä merkkijonon pituutta.

See Also / Katso Myös: