3v4l.org

run code in 300+ PHP versions simultaneously
<?php mt_srand( 1234 ); // Arrange $input = []; for ($i = 0; $i < 10; $i++ ) { $input[] = wfRandomString( 5 ); } // Act $map = []; foreach ( $input as $str ) { $map[$str] = 'something computed something'; } $output = []; foreach ( $map as $str => $somthing ) { $output[] = $str; } // Assert foreach ( $output as $str ) { if ( !is_string( $str ) ) { echo "WAT: "; var_dump( $str ); } else { echo "OK: "; var_dump( $str ); } } echo json_encode( $output, JSON_PRETTY_PRINT ); // ------- /** From MediaWiki 1.35 - https://w.wiki/oyY */ function wfRandomString( $length ) : string { $str = ''; for ( $n = 0; $n < $length; $n += 7 ) { $str .= sprintf( '%07x', mt_rand() & 0xfffffff ); } return substr( $str, 0, $length ); }
Output for 7.3.0 - 7.3.25, 7.4.0 - 7.4.13, 8.0.0
OK: string(5) "883b5" OK: string(5) "fb371" OK: string(5) "fa142" OK: string(5) "8aeee" WAT: int(80776) OK: string(5) "e59ae" OK: string(5) "486a1" OK: string(5) "2bbeb" OK: string(5) "3d63f" OK: string(5) "e2a6d" [ "883b5", "fb371", "fa142", "8aeee", 80776, "e59ae", "486a1", "2bbeb", "3d63f", "e2a6d" ]

preferences:
71.82 ms | 402 KiB | 46 Q