# 3v4l.org

run code in 150+ php & hhvm versions
```<?php /** * Riddle: Bit Play #1 * ------------------- * This riddle may move, add, remove, compair, and evaluate bit values. It is * suggested that you brush up on your binary and bitwise operators before * starting. */ \$answer = 1; // put your answer here and run to check if you are right // The Setup function luhn(\$number) { settype(\$number, 'string'); \$sumTable = array( array(0,1,2,3,4,5,6,7,8,9), array(0,2,4,6,8,1,3,5,7,9)); \$sum = 0; \$flip = 0; for (\$i = strlen(\$number) - 1; \$i >= 0; \$i--) { \$sum += \$sumTable[\$flip++ & 0x1][\$number[\$i]]; } return \$sum % 10 === 0; } settype(\$answer, 'integer'); \$s = (string) \$a = &\$answer; \$ns = (string) \$n = (isset(\$s[1])) ? (\$a >> 1)+\$s[1] : (\$a >> 1)+\$s[0]; \$f = ((int) \$ns[0] ^ (int) \$s[1]); // The Riddle function riddle(\$a, \$n, \$s, \$f, \$ns) { if ( (\$a != 0 && luhn(\$a)) && (!\$f) && ((\$n | \$a) == 63) && (!isset(\$s[2])) ) { return TRUE; } return FALSE; } // The Result if (riddle(\$a, \$n, \$s, \$f, \$ns)) { echo "You got the correct answer! (\$a)"; } else { echo "Sorry, wrong answer. (\$a)"; }```
based on 3j4Qv
Output for 5.2.10 - 5.6.28, 7.0.0 - 7.1.0
Notice: Uninitialized string offset: 1 in /in/c9Snn on line 29 Sorry, wrong answer. (1)
Output for hhvm-3.10.0 - 3.12.0