Przejdź do głównej treści

Indeksowanie znaków w stringu PHP

Słownik kwalifikacji INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

W PHP można odwołać się do pojedynczego znaku napisu za pomocą indeksu w nawiasach kwadratowych.

Przykład

$n = '[email protected]';
echo $n[0];
echo $n[1];

Wynik:

ad

Indeksowanie zaczyna się od 0, więc:

  • $n[0] to a,
  • $n[1] to d,
  • $n[2] to r,
  • $n[3] to e,
  • $n[4] to s,
  • $n[5] to @.

Wykorzystanie przy analizie tekstu

Dzięki indeksowaniu można przechodzić po napisie znak po znaku:

$i = 0;
while ($n[$i] != '@') {
    echo $n[$i];
    $i++;
}

Ten kod wypisuje kolejne znaki aż do momentu napotkania @. Sam znak @ nie zostanie wypisany, ponieważ warunek pętli sprawdzany jest przed wykonaniem echo.

Zabezpieczenie przed błędem

Bezpieczniej jest sprawdzać także długość tekstu:

while ($i < strlen($n) && $n[$i] != '@') {
    echo $n[$i];
    $i++;
}

Dzięki temu program nie próbuje odczytać znaku spoza zakresu napisu, gdy znak @ nie występuje.