note 112690 added to function.strtok
| From: | mail at markuszeller dot com | Date: | Sat, 13 Jul 2013 09:14:21 +0000 |
| Subject: | note 112690 added to function.strtok | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-195601@lists.php.net to get a copy of this message | ||
This function should be handled with care if you want to use the tokenizer for multiple strings at
once!
It looks like there's a PHP internal global and single unique position storage. See code
example below.
$s1 = $s2 = "1 2 3 4 5 6";
$tok1 = strtok($s1, " ");
echo "$tok1\n";
$tok1 = strtok(" ");
echo "$tok1\n";
$tok1 = strtok(" ");
echo "$tok1\n";
$tok1 = strtok(" ");
// 1
// 2
// 3
$tok2 = strtok($s2, " ");
echo "$tok2\n";
$tok2 = strtok(" ");
echo "$tok2\n";
$tok2 = strtok(" ");
echo "$tok2\n";
// 1
// 2
// 3
$tok1 = strtok(" ");
echo "$tok1\n";
$tok2 = strtok(" ");
echo "$tok2\n";
// 4
// 5
But I would have expected to have output $tok1 to be 4 AND $tok2 to be 4.
----
Server IP: 69.147.83.199
Probable Submitter: 79.245.253.235
----
Manual Page -- http://php.net/manual/en/function.strtok.php
Edit -- https://master.php.net/note/edit/112690
Del: integrated -- https://master.php.net/note/delete/112690/integrated
Del: useless -- https://master.php.net/note/delete/112690/useless
Del: bad code -- https://master.php.net/note/delete/112690/bad+code
Del: spam -- https://master.php.net/note/delete/112690/spam
Del: non-english -- https://master.php.net/note/delete/112690/non-english
Del: in docs -- https://master.php.net/note/delete/112690/in+docs
Del: other reasons-- https://master.php.net/note/delete/112690
Reject -- https://master.php.net/note/reject/112690
Search -- https://master.php.net/manage/user-notes.php