2011-01-19 15 views
15

Dire che ho il seguente: "44-xkIolspO"Diviso in due variabili?

voglio tornare 2 variabili:

$one = "44"; 
$two = "xkIolspO"; 

Quale sarebbe il modo migliore per farlo?

+0

Ricordate, gli elenchi di tutte le funzioni manuali che si può desiderare: http://php.net/ref.strings – Jonah

risposta

31

Prova questo:

list ($ uno, $ due) = split ("-", "44-xkIolspO", 2);

list($one, $two) = explode("-", "44-xkIolspO", 2); 
+1

impressionante, se non che [spaccatura è deprecato] (http://php.net/manual/ it/function.split.php). Una soluzione più a prova di futuro sarebbe probabilmente [esplodere] (http://php.net/manual/en/function.explode.php). – sdleihssirhc

+0

usa preg_split ("/ - /", "44-xkIolspO"); –

+1

Aggiornato il post per utilizzare esplodere. Spero che non sia ancora deprecato. – Chandu

5

PHP ha una funzione chiamata preg_split() divide una stringa utilizzando un'espressione regolare. Questo dovrebbe fare quello che vuoi.

Oppure explode() potrebbe essere più facile.

$str = "44-xkIolspO"; 
    $parts = explode("-", $str); 
    $one = $parts[0]; 
    $two = $parts[1]; 
+0

Non credo che preg_split sia quasi necessario in questo caso. L'analisi delle espressioni regolari è molto meno efficiente di una stringa delimitatore. – Jonah