Jak pobrać ostatni znak w ciągu PHP?

Funkcja substr() przyjmuje trzy argumenty $string (nasz łańcuch znaków, z którego chcemy pobrać ostatni znak), $offset (przesunięcie, od którego zwracamy substring) oraz $length (długość substringu, jaki zwrócimy).

Żeby zwrócić pojedynczy znak z końca, skorzystamy z właściwości tej funkcji, że jeśli przesunięcie jest ujemne, zwracany ciąg znaków rozpoczyna się od przesuniętego znaku (offset) od końca ciągu.

Poniżej kod odpowiedzialny za pobranie jednego elementu z końca stringu w PHP:

$string = "This is my string.";

$lastCharInString = substr($string, -1);

echo $lastCharInString; // outputs .

  • Podanie $offset -2 substr($string, -2) zwróci dwa znaki z końca w postaci g. 
  • Podanie $offset -2 i $length 1 substr($string, -2, 1) zwróci g, czyli jeden znak przesunięty od końca o 2 miejsca. 

Uwaga! Jeśli używasz kodowania znaków, w którym jeden znak zajmuje więcej niż jeden bajt (np. UTF-8 ) używaj  substr() w wersji mb_substr().