2009-11-16 4 views

Répondre

17

vous pouvez utiliser stristr pour cela:

$foo = stristr($foo,":",true); 

où de vrais jeux pour vous donner tout avant la première instance de ":"

+1

Merci, c'est magnifique. –

+6

Sachez que cela ne fonctionnera que dans PHP 5.3.0 et supérieur. –

+0

comment puis-je obtenir 2ème élément en utilisant cela? il jette le premier élément seulement. – AMB

5

Oui, il est posible de faire en utilisant list:

list($foo) = explode(":", $foo); 
+0

Merci, c'est une bonne approche. Cependant, j'aimerais voir une approche qui ne nécessite pas de méthodes supplémentaires. Quelque chose comme exploser (":", $ foo) [0]; –

+2

PHP ne supporte pas cette syntaxe. Vous êtes obligé de faire ce que vous voulez faire en 2 lignes. –

+1

Je pense que PHP n'autorise pas le code '... [0]' contrairement à Python ou Perl. Et c'est pourquoi 'list' a été ajouté dans la langue. –

7

Comme alternative à list(), vous pouvez utiliser array_shift()

$foo = array_shift(explode(':', $foo)); 
Questions connexes