2011-01-19 5 views
15

Dire que je donne les résultats suivants: "44-xkIolspO"Diviser en deux variables?

Je veux revenir 2 variables:

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

Quelle serait la meilleure façon de le faire?

+0

Rappelez-vous, les listes manuelles toutes les fonctions que vous pouvez désirer: http://php.net/ref.strings – Jonah

Répondre

31

Essayez ceci:

liste (un $, deux $) = split ("-", "44 xkIolspO", 2);

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

Impressionnant, sauf que ([scission est dépréciée] http://php.net/manual/ en/function.split.php). Une solution plus pérenne serait probablement [exploser] (http://php.net/manual/en/function.explode.php). – sdleihssirhc

+0

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

+1

Mis à jour le post à utiliser exploser. J'espère que ce n'est pas encore déprécié. – Chandu

5

PHP a une fonction appelée preg_split() divise une chaîne en utilisant une expression régulière. Cela devrait faire ce que vous voulez.

Ou explode() pourrait être plus facile.

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

Je ne pense pas que preg_split soit n'importe où dans ce cas. L'analyse régulière des expressions est beaucoup moins efficace qu'une chaîne de délimitation. – Jonah