3v4l.org

run code in 300+ PHP versions simultaneously
<?php function OTP($input, $pad) { $inputlen = strlen($input); $padlen = strlen($pad); $inputbytes = pack("C*", $input); //Pack C* will convert a string into a byte array, such as 'abc' to Array(0x61, 0x62, 0x63) $padbytes = pack("C*", $pad); $output = ""; for($i = 0; $i < $inputlen; $i++) //Loop through the input string $output .= chr($inputbytes[$i] ^ $padbytes[$i % $padlen]); return $output; } echo OTP("This is a long input that is not subject to the size of the pad", "ABC");
Output for git.master, git.master_jit, rfc.property-hooks
Fatal error: Uncaught TypeError: chr(): Argument #1 ($codepoint) must be of type int, string given in /in/cTlS8:11 Stack trace: #0 /in/cTlS8(11): chr('\x00') #1 /in/cTlS8(15): OTP('This is a long ...', 'ABC') #2 {main} thrown in /in/cTlS8 on line 11
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:
45.82 ms | 401 KiB | 8 Q