2009-07-14 3 views

Antwort

29

Sie verwenden können: $myString[20]

+1

+1 für die [] Klammern verwenden – fmsf

+4

+1 für nicht setzen substr() –

0

Nevermind fand es :)

echo $str[1]; 

// so offensichtlich

+6

Die Syntax {} ist ab PHP 6 veraltet. Eckige Klammern werden empfohlen. –

+0

ok ty das in einem Beispiel online gefunden habe Ich werde es korrigieren – fmsf

0
echo $myString{20}; 

oder:

substr($mystring, 20, 1) 
+0

Wie schon in anderen Kommentaren der Antworten hier gesagt, besser [] und nicht {} – danicotra

4

Es gibt zwei Möglichkeiten, wie Sie dies erreichen können:

  1. Verwenden eckigen Klammern und einen Index direkt das Zeichen für den Zugriff an der angegebenen Stelle, wie: $string[$index] oder $string[1];

  2. Verwenden Sie die substr Funktion: string substr (string $string , int $start [, int $length ])
    http://us2.php.net/manual/en/function.substr.php für weitere Informationen sehen.

+0

Der erste Weg ist im Allgemeinen besser, wenn Sie ein einzelnes Zeichen benötigen – danicotra

-3

einfach und einfach!

$string = 'Here is the text'; 
echo $string{2}; 

Es gibt Zeichen „e“, die in der Lage ist, 2.

0

Sie können für jedes Zeichen der Zeichenfolge durchlaufen. so was.

$string = 'Here is the text'; 
echo $string{0}; // output H 
echo $string{1}; // output e 
echo $string{2}; // output r 

...

2

Um eine kleine Einschränkung darauf hin, ich auf dem Strings page of the manual bemerkt:

Warnung Intern PHP Strings sind Byte-Arrays. Daher ist das Zugreifen auf oder das Ändern eines Strings mit Array-Klammern nicht multibyte-sicher und sollte nur mit Strings in einer Einzelbyte-Codierung wie ISO-8859-1 durchgeführt werden.

str_split() Die Funktion kann eine Zeichenfolge in eine Anordnung von jedem seines Zeichen brechen (oder spezifische Länge Strings), aber auch nicht den Multi-Byte-Zeichenkette nicht verarbeiten. Die Benutzerkommentare dort bieten jedoch einige mögliche Lösungen an.

Verwandte Themen