2009-07-14 8 views

Odpowiedz

29

można użyć: $myString[20]

+1

+1 dla [] nawiasów – fmsf

+4

+1 za niewprowadzanie substr() –

0

Nevermind znalazłem :)

echo $str[1]; 

// tak oczywiste

+6

Składnia {} jest nieaktualna od PHP 6. Zalecamy nawiasy kwadratowe. –

+0

ok ty znalazłeś to w przykładzie online Poprawię go – fmsf

0
echo $myString{20}; 

czyli

substr($mystring, 20, 1) 
+0

Jak już powiedziano w innych komentarzach do odpowiedzi tutaj, lepiej użyć [], a nie {} – danicotra

4

Istnieją dwa sposoby, można to osiągnąć:

  1. użyć nawiasów kwadratowych i indeks na bezpośredni dostęp znak w określonej lokalizacji, takie jak: $string[$index] lub $string[1];

  2. Użyj funkcji substr: string substr (string $string , int $start [, int $length ])
    Zobacz http://us2.php.net/manual/en/function.substr.php dla dalszych informacji.

+0

Pierwszy sposób jest ogólnie lepszy, jeśli potrzebujesz pojedynczego znaku – danicotra

-3

prosty i łatwy sposób!

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

Zwraca znak „e”, który znajduje się w pozycji 2.

0

można przemierzać ciąg dla każdego char. lubię to.

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

...

2

Aby podkreślić małe zastrzeżenie zauważyłem na Strings page of the manual:

Warning Wewnętrznie, smyczki PHP są tablicami bajtów. W rezultacie dostęp lub modyfikacja ciągu za pomocą nawiasów tablicowych nie jest bezpieczna dla wielu bajtów i powinna być wykonywana tylko z ciągami, które są w jednobajtowym kodowaniu, takim jak ISO-8859-1.

Funkcja str_split() można przerwać łańcuch w tablicy każdego ze znaków (lub podciągów specyficzne długości), ale nie pośredniczy w ciągi wielo-bajtowe. Jednak komentarze użytkowników oferują potencjalne rozwiązania.

Powiązane problemy