2009-07-14 4 views

risposta

29

È possibile utilizzare: $myString[20]

+1

+1 per le parentesi [] – fmsf

+4

+1 per non mettere substr() –

0

Nevermind trovato :)

echo $str[1]; 

// così evidente

+6

La sintassi {} è obsoleta a partire da PHP 6. Si consigliano parentesi quadre. –

+0

ok ho trovato questo in un esempio online lo correggerò – fmsf

0
echo $myString{20}; 

o:

substr($mystring, 20, 1) 
+0

Come già detto in altri commenti di risposta qui, meglio usare [] e non {} – danicotra

4

Ci sono due modi per raggiungere questo obiettivo:

  1. Usare parentesi quadre e un indice per accedere direttamente il carattere nella posizione specificata, come: $string[$index] o $string[1];

  2. utilizzare la funzione substr: string substr (string $string , int $start [, int $length ])
    Vedi http://us2.php.net/manual/en/function.substr.php per ulteriori informazioni.

+0

Il primo modo è generalmente migliore se hai bisogno di un singolo carattere – danicotra

-3

modo semplice e facile!

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

Esso restituisce il carattere "e" che si trova alla posizione 2.

0

È possibile attraversare la stringa per ogni char. come questo.

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

...

2

far notare un piccolo avvertimento ho notato sul Strings page of the manual:

Attenzione I Internamente, le stringhe PHP sono matrici di byte. Di conseguenza, l'accesso o la modifica di una stringa utilizzando parentesi di matrice non è sicura per più byte e deve essere eseguita solo con stringhe che si trovano in una codifica a byte singolo come ISO-8859-1.

La funzione str_split() può rompere una stringa in un array di ciascuno dei suoi caratteri (o sottostringhe specifica lunghezza), ma anche non gestisce stringhe multi-byte. Tuttavia, i commenti degli utenti ci offrono alcune potenziali soluzioni.

Problemi correlati