strtok

(PHP 3, PHP 4 , PHP 5)

strtok -- Coupe une chaîne en segments

Description

string strtok ( string str, string token )

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 1. 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) {
  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é 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 2. 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 3. 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)

De plus, soyez prudents avec les séparateurs qui sont égaux à "0". Ces valeurs s'évaluent comme FALSE dans les expression conditionnelles.

Voir aussi split() et explode().