3v4l.org

run code in 300+ PHP versions simultaneously
<?php function getQueryTokens($query) { static $expr = '/("(?:[^"\\\\]*(?:\\\\.[^"\\\\]*)*)"|\'(?:[^\'\\\\]*(?:\\\\.[^\'\\\\]*)*)\')/'; $tokens = []; foreach (preg_split($expr, $query, -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY) as $token) { if ($this->isQuotedString($token)) { $tokens[] = $token; continue; } array_merge($tokens, preg_split('/\?/', $token, -1, PREG_SPLIT_DELIM_CAPTURE)); } } var_dump(getQueryTokens("SELECT * FROM foo WHERE 'a' = b AND f = ? AND q IN (?)"));
Output for git.master, git.master_jit, rfc.property-hooks
Fatal error: Uncaught Error: Using $this when not in object context in /in/E1RnT:9 Stack trace: #0 /in/E1RnT(18): getQueryTokens('SELECT * FROM f...') #1 {main} thrown in /in/E1RnT on line 9
Process exited with code 255.

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
41.16 ms | 401 KiB | 8 Q