Maison >développement back-end >tutoriel php >Fonction PHP strtok() qui divise une chaîne en chaînes plus petites (balises)

Fonction PHP strtok() qui divise une chaîne en chaînes plus petites (balises)

黄舟
黄舟original
2017-11-06 10:34:071733parcourir

Instance

Split by wordString:

Dans l'exemple ci-dessous, notez que nous appelons uniquement strtok() fonction utilise le paramètre string. Après le premier appel, la fonction nécessite uniquement le paramètre split car elle sait où il se trouve dans la chaîne actuelle. Si vous devez diviser une nouvelle chaîne, appelez à nouveau strtok() avec le paramètre string :

<?php
$string = "Hello world. Beautiful day today.";
$token = strtok($string, " ");

while ($token != false)
{
echo "$token<br>";
$token = strtok(" ");
} 
?>
Définition et utilisation

La fonction strtok() divise la chaîne en morceaux plus petits String( étiqueter).

Syntaxe

strtok(string,split)
参数 描述
string 必需。规定要分割的字符串。
split 必需。规定一个或多个分割字符。
Détails techniques

返回值: 返回字符串标记。
PHP 版本: 4+
Les avantages sont :

1. Plusieurs délimiteurs peuvent être définis en même temps. . Lorsque la fonction est exécutée, elle coupe par un seul délimiteur au lieu du délimiteur entier, tandis que

explode coupe par toute la chaîne de délimiteur. Pour cette raison, exploser peut être coupé en chinois, mais strtok ne peut pas et sera tronqué.

2. Lorsque vous utilisez while ou for avec strtok() pour parcourir, vous pouvez changer le séparateur à tout moment, ou utiliser break pour terminer la coupe à tout moment.

Exemple 1 : Démontrer l'utilisation du chinois + exploser pour couper

$string = "这是PHP论坛 论坛版块 论坛栏目 论坛H管理员 论坛会员"; 
$arr = explode("论坛",$string); 
foreach($arr as $v) 
{ 
echo $v."<br />"; 
} 
echo "-------------<br />";
Retour :

这是PHP 

版块 
栏目 
H管理员 
会员 
-------------
Exemple 2 : Démontrer la modification du caractère de coupe, veuillez noter qu'il y a pas plus WHILE plus tard Avec délimiteur "H". Utilisez plutôt des espaces.

$string = "这是PHP论坛 论坛版块 论坛栏目 论坛H管理员 论坛会员"; 
$tok = strtok($string, " H"); //空格+H 
$n=1; 
while ($tok !== false) { 
echo "$tok<br />"; 
$tok = strtok(" "); //空格 
//if($n>2)break; //可以随时跳出。 
//$n++; 
} 
echo "-------------<br />";
Renvoie :

这是P 
P论坛 
论坛版块 
论坛栏目 
论坛H管理员 
论坛会员 
-------------
Exemple 3 : montre plusieurs délimiteurs.

$string = "This is\tan example\nstring"; 
$tok = strtok($string, " \n\t"); #空格,换行,TAB 
while ($tok !== false) { 
echo "$tok<br />"; 
$tok = strtok(" \n\t"); 
} 
echo "-------------<br />";
Renvoie :

This 
is 
an 
example 
string 
-------------
$string = "abcde 123c4 99sadbc99b5232"; 
$tok = strtok($string, "bc"); 
while ($tok !="") { 
echo "$tok<br />"; 
$tok = strtok("bc"); 
} 
echo "-------------<br />";
Retours :

a 
de 123 
4 99sad 
99 
5232 
-------------
Exemple 4 : Démontre l'utilisation de for pour parcourir :

$line = "leon\tatkinson\tleon@clearink.com"; 
for($token = strtok($line,"\t");$token!="";$token=strtok("\t")) 
{ 
print("token: $token<BR>\n"); 
}
Retour :

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn