2014-01-24 7 views
5

Ich bin sicher, es muss eine einfache Möglichkeit, nth Zeichen vom Ende der Zeichenfolge erhalten.PHP: Get nth Zeichen vom Ende der Zeichenfolge

Zum Beispiel:

$NthChar = get_nth('Hello', 3); // will result in $NthChar='e' 
+0

Hier ist eine nette Funktion können Sie das gleiche in Ihrem Fall verwenden http://www.junnfo.com/extract -nth-character-from-astring-php.html –

+0

Glaubst du wirklich, es sind nth Zeichen, die du willst oder (n + 1) th (bis du 0th, 1th .... Approach gehst) –

Antwort

14

Genau dies tun

$rest = substr("abcdef", -3, 1); // returns 'd' 
+0

kehrt 'l' ist von' Hello' –

+0

kehrt von Welt r – Thanasis

0
<?php 
function get_nth($string, $offset) { 
    $string = strrev($string); //reverse the string 
    return $string[$offset]; 
} 

$string = 'Hello'; 
echo get_nth($string, 3); 

wie $ string [3] erhalten Sie die 3. der Zeichenfolge geben, aber Sie wollen es nach hinten, müssen Sie String umkehren.


Edit:

Trotz anderen Antworten (nach meinem geschrieben) werden mit substring, und es kann ein Motto sein, ist es kaum lesbar ist substr($string, -2, 1) zu haben, dann umgekehrt nur die Zeichenfolge und gibt den Offset .

+0

Nun, vielleicht wer downvoted wird Sag uns warum :) –

+0

Ich reall Du hast keine Idee. Meine ** + 1 ** dir aber. –

+1

@RoyalBg Entschuldigung für die Antwort 2yo Kommentar. _Intern sind PHP-Strings Byte-Arrays. Als Ergebnis zugreifen oder eine Zeichenfolge mit Array Klammern modifiziert ist ** nicht multibytesicher **, und nur mit Strings, die in einer Single-Byte-Codierung sind wie ISO-8859-1._ getan werden soll, wie erwähnt in [manual] (https://secure.php.net/manual/en/language.types.string.php) – bangbambang

0
substr($string, -3);//returns 3rd char from the end of the string 
+1

'$ string = 'Hallo'; echo substr ($ string, -3); '' kehrt llo' –

+0

Willen gibt Ihnen als Ausgangs llo, wenn der Eingang Hallo –

4

So:

function get_nth($string, $index) { 
    return substr($string, strlen($string) - $index - 1, 1); 
} 
Verwandte Themen