(PHP 4, PHP 5)
strtok — Coupe une chaîne en segments
strtok() coupe la chaîne str en segment, chaque segment étant délimité par token . Par exemple, si vous avez une chaîne telle que "Voici un bon exemple" , vous pouvez en extraire les différents mots en utilisant cette fonction :
Exemple 2643. Exemple avec strtok()
<?php
$string
=
"Ceci est\tun bon\nexemple"
;
// Utilisez aussi les nouvelles lignes et les tabulations
// comme séparateur de mots
$tok
=
strtok
(
$string
,
" \n\t"
);
while (
$tok
!==
false
) {
echo
"Mot = $tok<br />"
;
$tok
=
strtok
(
" \n\t"
);
}
?>
Notez que seul le premier appel à strtok() nécessite les deux arguments. Tous les appels ultérieurs à strtok() ne nécessitent que le délimiteur. Pour initialiser à nouveau strtok() , ou pour recommencer, fournissez à nouveau le paramètre str . La chaîne str sera découpée dès que l'un des caractères de token est trouvé.
Le comportement de cette fonction avec la chaîne vide a changé depuis PHP 4.1.0. L'ancien comportement était de retourner une chaîne vide, tandis que le nouveau comportement, plus correct, retourne FALSE
Exemple 2644. Ancien comportement de strtok()
<?php
$first_token
=
strtok
(
'/chose'
,
'/'
);
$second_token
=
strtok
(
'/'
);
var_dump
(
$first_token
,
$second_token
);
?>
L'exemple ci-dessus va afficher :
string(0) "" string(9) "chose"
Exemple 2645. Nouveau comportement de strtok()
<?php
$first_token
=
strtok
(
'/chose'
,
'/'
);
$second_token
=
strtok
(
'/'
);
var_dump
(
$first_token
,
$second_token
);
?>
L'exemple ci-dessus va afficher :
string(9) "chose" bool(false)
Cette fonction peut retourner FALSE , mais elle peut aussi retourner une valeur équivalent à FALSE , utilisable dans une condition if simple. Utilisez l'opérateur === pour tester la valeur de retour exacte de cette fonction.