strtok

(PHP 3, PHP 4 )

strtok -- Coupe une chaîne en segments

Description

string strtok ( string arg1, string arg2)

strtok() coupe la chaîne arg1 en segments, chaque segment étant délimité par arg2. Par exemple, si vous avez une chaîne telle que "Voici un exemple", vous pouvez en extraire les différents mots en utilisant cette fonction :

Exemple 1. Exemple avec strtok()

<?php
  $string
= "Ceci est    un exemple\ninteressant";
/* Utilisez aussi les nouvelles lignes et les tabulations comme s&eacute;parateur de mots */
  
$tok = strtok($string," \n    ");
  while (
$tok) {
    echo
"Mot = $tok<br>";
    
$tok = strtok(" \n    ");
}
?>

Notez que seul le premier appel à strtok() nécessite les deux arguments. Tous les appels ultérieurs à strtok() ne nécessitent que la chaîne à découper. Pour initialiser à nouveau strtok(), ou pour recommencer, fournissez à nouveau le paramètre arg2. La chaîne arg1 sera découpé dès que l'un des caractères de arg2 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()

$first_token  = strtok('/chose', '/');
    $second_token = strtok('/');
    var_dump ($first_token, $second_token);

/* Affiche :
    string(0) ""
    string(9) "chose"
*/

Exemple 3. Nouveau comportement de strtok()

$first_token  = strtok('/chose', '/');
    $second_token = strtok('/');
    var_dump ($first_token, $second_token);

/* Affiche :
    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().