[PHP] odczytywanie ostatniej litery słowa zapisanego w zmiennej

Mam słowo w zmiennej. Czy da się sprawdzić jaka jest jego ostatnia litera? I najlepiej zapisać tą literę do osobnej zmiennej. Nie mam pojęcia jak to zrobić. Bardzo by mi się to przydało Czy to jest możliwe? Jeśli tak to jak to zrobić?

http://forum.webhelp.pl/php-i-bazy-danych/sprawdzanie-ostatniego-znaku-w-ciagu-t217681.html

<?php echo $string[count($string)];
<?php echo $string[count($string)];

Czy nie powinno być tak przypadkie?

<?php echo $string[strlen ($string)-1];

Bo count policzy ten string jako obiekt czyli 1 a strlen policzy liczbę znaków ale to że index stronga jest liczony od 0 to trzeba odjąć 1

To rozwiązanie wyświetla  2 literę od przodu a nie ostatnią

 

Dzięki, działa  :wink:  :ok:

$rest = substr("abcdef", -1); // returns "f"

żywcem skopiowane z dokumentacji: http://php.net/manual/en/function.substr.php – polecam kiedyś poczytać

Z ciekawości sprawdziłem wydajność tych rozwiązań i okazuje się że:

$string{strlen($string)-1}

jest niezauważalnie bardziej wydajne niż

substr($string,-1)

A wydajność mierzona w ilu powtórzeniach, na jakim ciągu?

Im więcej powtórzeń tym:

substr($string,-1)

będzie wolniejsze względem

$lenfz = strlen($string) - 1;
$string[$lenfz];

Oczywiście trzeba wziąć pod uwagę, że potraktowanie stringa jak tablicy będzie błędem przy MB.