3v4l.org

run code in 300+ PHP versions simultaneously
<?php ////////////////////////////////////////////////////////////////// // // This is not a difficult test, but it will test your ability to // read and write code as it might exist within our application. // // This should take less than 30 minutes. // // Good luck! // ////////////////////////////////////////////////////////////////// // Part One: Reading ////////////////////////////// // Your challenge here is to figure out what this code does. // Please change the variable names to something more appropriate, // and also comment it to the best of your ability. $s = 'typewriter'; $t = array( ); $a = str_split( $s ); $o = array( ); $o['a'] = array( 'q', 'w', 'z', 'x' ); $o['b'] = array( 'v', 'f', 'g', 'h', 'n' ); $o['c'] = array( 'x', 's', 'd', 'f', 'v' ); $o['d'] = array( 'x', 's', 'w', 'e', 'r', 'f', 'v', 'c' ); $o['e'] = array( 'w', 's', 'd', 'f', 'r' ); $o['f'] = array( 'c', 'd', 'e', 'r', 't', 'g', 'b', 'v' ); $o['g'] = array( 'r', 'f', 'v', 't', 'b', 'y', 'h', 'n' ); $o['h'] = array( 'b', 'g', 't', 'y', 'u', 'j', 'm', 'n' ); $o['i'] = array( 'u', 'j', 'k', 'l', 'o' ); $o['j'] = array( 'n', 'h', 'y', 'u', 'i', 'k', 'm' ); $o['k'] = array( 'u', 'j', 'm', 'l', 'o' ); $o['l'] = array( 'p', 'o', 'i', 'k', 'm' ); $o['m'] = array( 'n', 'h', 'j', 'k', 'l' ); $o['n'] = array( 'b', 'g', 'h', 'j', 'm' ); $o['o'] = array( 'i', 'k', 'l', 'p' ); $o['p'] = array( 'o', 'l' ); $o['r'] = array( 'e', 'd', 'f', 'g', 't' ); $o['s'] = array( 'q', 'w', 'e', 'z', 'x', 'c' ); $o['t'] = array( 'r', 'f', 'g', 'h', 'y' ); $o['u'] = array( 'y', 'h', 'j', 'k', 'i' ); $o['v'] = array( '', 'c', 'd', 'f', 'g', 'b' ); $o['w'] = array( 'q', 'a', 's', 'd', 'e' ); $o['x'] = array( 'z', 'a', 's', 'd', 'c' ); $o['y'] = array( 't', 'g', 'h', 'j', 'u' ); $o['z'] = array( 'x', 's', 'a' ); $o['1'] = array( 'q', 'w' ); $o['2'] = array( 'q', 'w', 'e' ); $o['3'] = array( 'w', 'e', 'r' ); $o['4'] = array( 'e', 'r', 't' ); $o['5'] = array( 'r', 't', 'y' ); $o['6'] = array( 't', 'y', 'u' ); $o['7'] = array( 'y', 'u', 'i' ); $o['8'] = array( 'u', 'i', 'o' ); $o['9'] = array( 'i', 'o', 'p' ); $o['0'] = array( 'o', 'p' ); foreach( $a as $key => $value ) { $u = $a; foreach( $o[$value] as $p ) { $u[$key] = $p; $t[] = join( "", $u ); } } print_r( $t ); ?>
Output for 5.0.0 - 5.0.5, 5.1.0 - 5.1.6, 5.2.0 - 5.2.17, 5.3.0 - 5.3.29, 5.4.0 - 5.4.45, 5.5.24 - 5.5.35, 5.6.7 - 5.6.28, 7.0.0 - 7.0.20, 7.1.0 - 7.1.25, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.4, 8.3.6
Array ( [0] => rypewriter [1] => fypewriter [2] => gypewriter [3] => hypewriter [4] => yypewriter [5] => ttpewriter [6] => tgpewriter [7] => thpewriter [8] => tjpewriter [9] => tupewriter [10] => tyoewriter [11] => tylewriter [12] => typwwriter [13] => typswriter [14] => typdwriter [15] => typfwriter [16] => typrwriter [17] => typeqriter [18] => typeariter [19] => typesriter [20] => typedriter [21] => typeeriter [22] => typeweiter [23] => typewditer [24] => typewfiter [25] => typewgiter [26] => typewtiter [27] => typewruter [28] => typewrjter [29] => typewrkter [30] => typewrlter [31] => typewroter [32] => typewrirer [33] => typewrifer [34] => typewriger [35] => typewriher [36] => typewriyer [37] => typewritwr [38] => typewritsr [39] => typewritdr [40] => typewritfr [41] => typewritrr [42] => typewritee [43] => typewrited [44] => typewritef [45] => typewriteg [46] => typewritet )
Output for 8.3.5
Warning: PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /usr/lib/php/8.3.5/modules/sodium.so (libsodium.so.23: cannot open shared object file: No such file or directory), /usr/lib/php/8.3.5/modules/sodium.so.so (/usr/lib/php/8.3.5/modules/sodium.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0 Array ( [0] => rypewriter [1] => fypewriter [2] => gypewriter [3] => hypewriter [4] => yypewriter [5] => ttpewriter [6] => tgpewriter [7] => thpewriter [8] => tjpewriter [9] => tupewriter [10] => tyoewriter [11] => tylewriter [12] => typwwriter [13] => typswriter [14] => typdwriter [15] => typfwriter [16] => typrwriter [17] => typeqriter [18] => typeariter [19] => typesriter [20] => typedriter [21] => typeeriter [22] => typeweiter [23] => typewditer [24] => typewfiter [25] => typewgiter [26] => typewtiter [27] => typewruter [28] => typewrjter [29] => typewrkter [30] => typewrlter [31] => typewroter [32] => typewrirer [33] => typewrifer [34] => typewriger [35] => typewriher [36] => typewriyer [37] => typewritwr [38] => typewritsr [39] => typewritdr [40] => typewritfr [41] => typewritrr [42] => typewritee [43] => typewrited [44] => typewritef [45] => typewriteg [46] => typewritet )
Output for 4.4.5 - 4.4.9
Fatal error: Call to undefined function: str_split() in /in/1X0WV on line 23
Process exited with code 255.
Output for 4.3.2 - 4.3.11, 4.4.0 - 4.4.4
Fatal error: Call to undefined function: str_split() in /in/1X0WV on line 23
Process exited with code 255.
Output for 4.3.0 - 4.3.1
Fatal error: Call to undefined function: str_split() in /in/1X0WV on line 23

preferences:
211.81 ms | 401 KiB | 327 Q