3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?php function rmshash($toHash) { $hashArray = array(); $toHashARR = str_split($toHash); $toHash = base64_encode($toHash); for ($i = 0; $i < count($toHashARR); $i++) { $value = unpack('H*', $toHashARR[$i]); $hashArray[$i] = base_convert($value[1], 16, 2); } $odds = 1; $evens = 1; for ($k = 0; $k < count($hashArray); $k++) { if ($k % 2 == 1) { $odds = $odds * (int)$hashArray[$k]; } else { $evens = $evens * (int)$hashArray[$k]; } } $hash; $hash = ($odds + $evens) * ($odds + $evens) * ($odds + $evens); $hash = (($hash / $odds) * $evens); $hash = $hash / (count($hashArray) * $evens); $hash = strtolower((string)$hash); $hash = strtok($hash, 'e'); $hash = base64_encode($hash); $hash = $hash . $toHash; $hash = base64_encode($hash); $hash64Array = array(); $hash64ARR = str_split($hash); for ($l = 0; $l < count($hash64ARR); $l++) { $value2 = unpack('H*', $hash64ARR[$l]); $hash64Array[$l] = base_convert($value2[1], 16, 2); } $hash = 1; for ($m = 0; $m < count($hash64Array); $m++) { $hash = $hash * (int)$hash64Array[$m]; } $hash = $hash * abs(tan(count($hash64Array))); $hash = base64_encode($hash); $hash = substr($hash, 0, 32); return $hash; } print rmshash("test"); ?>

Shows result from various feature-branches currently under review from the php developers. Contact me to have additional branches featured.

Output for Typed properties v2
MS4wMTA0OTQ3OTIwNDY4RSsyMzA=
Output for Array change keys
MS4wMTA0OTQ3OTIwNDY4RSsyMzA=
Output for Lexical anon
MS4wMTA0OTQ3OTIwNDY4RSsyMzA=

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