3v4l.org

run code in 300+ PHP versions simultaneously
<?php $X = array ( 'ALLUSERSPROFILE' => '', 'APPDATA' => '', 'COMMANDER_DRIVE' => '', 'COMMANDER_EXE' => '', 'COMMANDER_INI' => '', 'COMMANDER_PATH' => '', 'CommonProgramFiles' => '', 'CommonProgramFiles(x86)' => '', 'CommonProgramW6432' => '', 'COMPUTERNAME' => '', 'ComSpec' => '', 'EMAIL' => '', 'FP_NO_HOST_CHECK' => '', 'HOMEDRIVE' => '', 'HOMEPATH' => '', 'LOCALAPPDATA' => '', 'LOGONSERVER' => '', 'NUMBER_OF_PROCESSORS' => '', 'OS' => '', 'Path' => '', 'PATHEXT' => '', 'PROCESSOR_ARCHITECTURE' => '', 'PROCESSOR_ARCHITEW6432' => '', 'PROCESSOR_IDENTIFIER' => '', 'PROCESSOR_LEVEL' => '', 'PROCESSOR_REVISION' => '', 'ProgramData' => '', 'ProgramFiles' => '', 'ProgramFiles(x86)' => '', 'ProgramW6432' => '', 'PROMPT' => '', 'PSModulePath' => '', 'PUBLIC' => '', 'SESSIONNAME' => '', 'SystemDrive' => '', 'SystemRoot' => '', 'TEMP' => '', 'TMP' => '', 'USERDOMAIN' => '', 'USERDOMAIN_ROAMINGPROFILE' => '', 'USERNAME' => '', 'USERPROFILE' => '', 'VBOX_INSTALL_PATH' => '', 'VBOX_MSI_INSTALL_PATH' => '', 'windir' => '', 'HTTP_COOKIE' => '', 'HTTP_ACCEPT_LANGUAGE' => '', 'HTTP_ACCEPT_ENCODING' => '', 'HTTP_REFERER' => '', 'HTTP_USER_AGENT' => '', 'HTTP_ACCEPT' => '', 'HTTP_CACHE_CONTROL' => '', 'HTTP_CONNECTION' => '', 'HTTP_HOST' => '', 'SCRIPT_FILENAME' => '', 'REDIRECT_STATUS' => '', 'SERVER_NAME' => '', 'SERVER_PORT' => '', 'SERVER_ADDR' => '', 'REMOTE_PORT' => '', 'REMOTE_ADDR' => '', 'SERVER_SOFTWARE' => '', 'GATEWAY_INTERFACE' => '', 'SERVER_PROTOCOL' => '', 'DOCUMENT_ROOT' => '', 'DOCUMENT_URI' => '', 'REQUEST_URI' => '', 'SCRIPT_NAME' => '', 'CONTENT_LENGTH' => '', 'CONTENT_TYPE' => '', 'REQUEST_METHOD' => '', 'QUERY_STRING' => '', 'FCGI_ROLE' => '', 'PHP_SELF' => '', 'REQUEST_TIME_FLOAT' => '', 'REQUEST_TIME' => '', ); $time = microtime(true); for ($i = 0; $i < 10000; $i++) { $array = []; $str = '|' . implode('|', array_keys($X)); do { if (false !== $pos = strpos($str, '|HTTP_')) { if (false !== $pos2 = strpos($str, '|', $pos + 1)) { $len = $pos2 - $pos - 1; } else { $len = null; } $array[] = substr($str, $pos + 1, $len); $str = $pos2 !== false ? substr($str, $pos2) : ''; } } while ($pos !== false && $str); } var_dump($X, count($X), $array, microtime(true) - $time);

preferences:
33.69 ms | 402 KiB | 5 Q