split

keza
Invité n'ayant pas de compte PHPfrance

26 mai 2006, 10:48

Bonjour,
$a = split (".", "a.csv");
var_dump ($a);
J'obtiens

Code : Tout sélectionner

array(6) { [0]=> string(0) "" [1]=> string(0) "" [2]=> string(0) "" [3]=> string(0) "" [4]=> string(0) "" [5]=> string(0) "" }
Or, je souhaiterais obtenir

Code : Tout sélectionner

array (2) { [0]=> string(1) "a" [1]=> string(3) "csv" }
Merci de votre aide.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

26 mai 2006, 11:02

Dans la doc, il est écrit
Astuce : preg_split(), qui utilise la syntaxe des expressions rationnelles compatibles PERL, est une alternative plus rapide à split(). Si vous n'avez pas besoin de la puissance des expressions rationnelles, il est plus rapide d'utiliser explode(), qui n'utilise pas le moteur d'expressions rationnelles.
Donc la solution est
$a = explode(".", "a.csv");
var_dump ($a);
Tout simplement parce que "." dans une expression régulière est considéré comme "tout caractère" ;)
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer