3v4l.org

run code in 300+ PHP versions simultaneously
<?php function doIt(string $line): string { $pos = strrpos($line, "&gt;"); if ($pos === false) { return $line; } if ($pos < 4 || substr($line, $pos - 4, 8) === "&gt;&gt;") { return $line; } return substr_replace($line, '<p style="color:#0f0;">', $pos, 0) . "</p>"; } function doItMultiline(string $owo): string { return implode(array_map('doIt', explode(PHP_EOL, $owo)), PHP_EOL); } $line = "awoo&gt;&gt;owo &gt;blyat lolis"; $line2 = "awoo&gt;&gt;owo"; var_dump(doItMultiline($line)); var_dump(doItMultiline($line2));
Output for 8.0.0 - 8.0.30, 8.1.0 - 8.1.30, 8.2.0 - 8.2.24, 8.3.0 - 8.3.12
Fatal error: Uncaught TypeError: implode(): Argument #2 ($array) must be of type ?array, string given in /in/3b7gi:11 Stack trace: #0 /in/3b7gi(11): implode(Array, '\n') #1 /in/3b7gi(18): doItMultiline('awoo&gt;&gt;owo...') #2 {main} thrown in /in/3b7gi on line 11
Process exited with code 255.
Output for 7.4.0 - 7.4.33
Deprecated: implode(): Passing glue string after array is deprecated. Swap the parameters in /in/3b7gi on line 11 string(58) "awoo&gt;&gt;owo <p style="color:#0f0;">&gt;blyat</p> lolis" Deprecated: implode(): Passing glue string after array is deprecated. Swap the parameters in /in/3b7gi on line 11 string(15) "awoo&gt;&gt;owo"
Output for 7.0.0 - 7.0.33, 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33
string(58) "awoo&gt;&gt;owo <p style="color:#0f0;">&gt;blyat</p> lolis" string(15) "awoo&gt;&gt;owo"
Output for 5.6.0 - 5.6.40
Parse error: syntax error, unexpected ':', expecting '{' in /in/3b7gi on line 3
Process exited with code 255.

preferences:
95.51 ms | 410 KiB | 5 Q