strtok

(PHP 4, PHP 5, PHP 7, PHP 8)

strtokCoupe une chaîne en segments

Description

strtok(string$string, string$token): string|false

Signature alternative (non supporté avec les arguments nommés) :

strtok(string$token): string|false

strtok() coupe la chaîne string en segments, 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 l'espace comme token.

Notez que seul le premier appel à strtok() utilise l'argument string. Tous les appels ultérieurs à strtok() nécessitent uniquement le token à utiliser, car elle sait où elle se situe dans la chaîne courante. Pour recommencer ou découper une nouvelle chaîne vous pouvez simplement appeler strtok() avec le paramètre string de nouveau pour l'initialiser. Il est à noter qu'il est possible de mettre plusieurs tokens dans le paramètre token. La chaîne string sera découpée dès que l'un des caractères de l'argument token est trouvé.

Note:

Cette fonction ce comporte de manière légèrement différente de ce qu'on peut s'attendre étant familier avec explode(). Premièrement, une séquence de deux ou plus token caractères contigu dans la chaîne analysé est considéré comme un unique délimiteur. De plus, un token situé au début ou à la fin de la chaîne est ignoré. Par exemple, si la chaîne ";aaa;;bbb;" est utilisé, les appels successif à strtok() avec ";" en tant que token retournera les chaînes "aaa" et "bbb", et puis false. Par conséquent, la chaîne sera juste séparé en deux éléments, tandis que explode(";", $string) retournerait un tableau de 5 éléments.

Liste de paramètres

string

La chaîne à découper en plusieurs chaînes de tailles plus petites (tokens).

token

Le délimiteur utilisé pour découper string.

Valeurs de retour

Une string coupée, ou false si plus aucun token n'est disponible.

Historique

VersionDescription
8.3.0 Émet désormais un E_WARNING lorsque le token n'est pas fourni.

Exemples

Exemple #1 Exemple avec strtok()

<?php
$string
= "This is\tan example\nstring";
// Utilisez aussi les nouvelles lignes et les tabulations
// comme séparateur de mots
$tok = strtok($string, " \n\t");

while (
$tok !== false) {
echo
"Word=$tok<br />";
$tok = strtok(" \n\t");
}
?>

Exemple #2 Comportement de strtok() sur une partie vide trouvée

<?php
$first_token
= strtok('/something', '/');
$second_token = strtok('/');
var_dump($first_token, $second_token);
?>

L'exemple ci-dessus va afficher :

string(9) "something" bool(false)

Exemple #3 La différence entre strtok() et explode()

<?php
$string
= ";aaa;;bbb;";

$parts = [];
$tok = strtok($string, ";");
while (
$tok !== false) {
$parts[] = $tok;
$tok = strtok(";");
}
echo
json_encode($parts),"\n";

$parts = explode(";", $string);
echo
json_encode($parts),"\n";

L'exemple ci-dessus va afficher :

["aaa","bbb"] ["","aaa","","bbb",""]

Notes

Avertissement

Cette fonction peut retourner false, mais elle peut aussi retourner une valeur équivalent à false. Veuillez lire la section sur les booléens pour plus d'informations. Utilisez l'opérateur === pour tester la valeur de retour exacte de cette fonction.

Voir aussi

  • explode() - Scinde une chaîne de caractères en segments
To Top