Ce face strtok
strtok se apelează de mai multe ori. Primul apel primește textul și lista de separatori și returnează prima bucată. Apelurile următoare primesc doar separatorii și returnează bucata următoare, până când funcția returnează false.
Orice caracter din $token este separator, iar separatorii alăturați sunt tratați ca unul singur (bucățile goale sunt sărite). Pentru majoritatea cazurilor, explode sau preg_split sunt mai ușor de folosit.
Parametri
| Parametru | Descriere |
|---|---|
$string |
La primul apel: textul împărțit. La apelurile următoare: lista de separatori. |
$token |
La primul apel: lista de separatori. |
Ce returnează
Bucata următoare sau false când nu mai sunt bucăți.
Exemple
Exemplul 1: Bucată cu bucată
<?php
$bucata = strtok("Ana, Ion; Maria", ",; ");
while ($bucata !== false) {
echo "[$bucata]\n";
$bucata = strtok(",; ");
}
Rezultat
[Ana]
[Ion]
[Maria]
Exemplul 2: Doar prima bucată
Un singur apel este o metodă rapidă de a lua tot ce este înainte de primul separator.
<?php
$url = "/invata/php/?pagina=2";
echo strtok($url, "?");
Rezultat
/invata/php/
Greșeli frecvente
- Bucla se oprește prea devreme când o bucată este
"0". Verifică cu!== false, nu cuwhile ($bucata). - Apelezi din nou
strtokcu textul în interiorul buclei și împărțirea o ia de la capăt. Doar primul apel primește textul.
Comenzi înrudite
explode: Împarte un text în bucăți după un separator și le pune într-un tablou.preg_split: Împarte un text în bucăți folosind o expresie regulată ca separator.strpbrk: Returnează textul începând cu primul caracter care apare într-o listă dată.