3v4l.org

run code in 300+ PHP versions simultaneously
<?php define('NUMBER_OF_THINGS', 100000); class Something{ const SOME_MAX_VALUE = 100; protected $field; public function setField($value){ $this->field = $value; return $this; } public function getField(){ return $this->field; } } $aBunchOfThings = array(); for($i=0; $i<NUMBER_OF_THINGS; $i++){ $aThing = new Something(); $aBunchOfThings[] = $aThing->setField(rand(1, Something::SOME_MAX_VALUE)); } function searchForeach($array, $needle){ $results = array(); foreach($array as $key => $thing){ if($thing->getField() == $needle){ $result[] = $needle; } } return $result; } function searchArrayFilter($array, $needle){ return array_filter($array, function(&$thing) use (&$needle){ return $thing->getField() == $needle; }); } function uniqueForeach($array){ $results = array(); foreach($array as $key => $thing){ $uniqueThing = true; foreach($results as $result){ if($result->getField() == $thing->getField()){ $uniqueThing = false; break; } } if($uniqueThing){ $result[] = $thing; } } return $result; } function uniqueArrayMap($array){ return array_intersect_key($array, array_unique(array_map(function (&$thing) { return $thing->getField(); }, $array))); } $needle = 50; $start = microtime(true); $result = searchForeach($aBunchOfThings, $needle); $durationForeach = microtime(true) - $start; $start = microtime(true); $result = searchArrayFilter($aBunchOfThings, $needle); $durationArrayFilter = microtime(true) - $start; $start = microtime(true); $result = uniqueForeach($aBunchOfThings); $durationUniqueForeach = microtime(true) - $start; $start = microtime(true); $result = uniqueArrayMap($aBunchOfThings); $durationUniqueArrayMap = microtime(true) - $start; echo "Function | Time\n"; echo "-----------------------------------------\n"; echo "searchForeach | $durationForeach\n"; echo "searchArrayFilter | $durationArrayFilter\n"; echo "uniqueForeach | $durationUniqueForeach\n"; echo "uniqueArrayMap | $durationUniqueArrayMap\n"; ?>
Output for 7.3.1
Function | Time ----------------------------------------- searchForeach | 0.0079841613769531 searchArrayFilter | 0.017876863479614 uniqueForeach | 0.015586137771606 uniqueArrayMap | 0.029489994049072
Output for 7.3.0
Function | Time ----------------------------------------- searchForeach | 0.007472038269043 searchArrayFilter | 0.013360977172852 uniqueForeach | 0.015148162841797 uniqueArrayMap | 0.02289891242981
Output for 7.2.13
Function | Time ----------------------------------------- searchForeach | 0.0078339576721191 searchArrayFilter | 0.016879796981812 uniqueForeach | 0.020656824111938 uniqueArrayMap | 0.032742023468018
Output for 7.2.12
Function | Time ----------------------------------------- searchForeach | 0.0091829299926758 searchArrayFilter | 0.017181873321533 uniqueForeach | 0.02384614944458 uniqueArrayMap | 0.03783392906189
Output for 7.2.11
Function | Time ----------------------------------------- searchForeach | 0.011941194534302 searchArrayFilter | 0.021637916564941 uniqueForeach | 0.032104015350342 uniqueArrayMap | 0.042418956756592
Output for 7.2.10
Function | Time ----------------------------------------- searchForeach | 0.0088400840759277 searchArrayFilter | 0.016835927963257 uniqueForeach | 0.028751134872437 uniqueArrayMap | 0.034209012985229
Output for 7.2.9
Function | Time ----------------------------------------- searchForeach | 0.0089960098266602 searchArrayFilter | 0.021003007888794 uniqueForeach | 0.029294967651367 uniqueArrayMap | 0.048609972000122
Output for 7.2.8
Function | Time ----------------------------------------- searchForeach | 0.0080749988555908 searchArrayFilter | 0.017142057418823 uniqueForeach | 0.023424863815308 uniqueArrayMap | 0.03587007522583
Output for 7.2.7
Function | Time ----------------------------------------- searchForeach | 0.0080528259277344 searchArrayFilter | 0.019130945205688 uniqueForeach | 0.032389879226685 uniqueArrayMap | 0.041846036911011
Output for 7.2.6
Function | Time ----------------------------------------- searchForeach | 0.0092182159423828 searchArrayFilter | 0.021831035614014 uniqueForeach | 0.01382303237915 uniqueArrayMap | 0.051881790161133
Output for 7.2.5
Function | Time ----------------------------------------- searchForeach | 0.0087771415710449 searchArrayFilter | 0.017446041107178 uniqueForeach | 0.015625 uniqueArrayMap | 0.027134895324707
Output for 7.2.4
Function | Time ----------------------------------------- searchForeach | 0.0083730220794678 searchArrayFilter | 0.018711090087891 uniqueForeach | 0.037601947784424 uniqueArrayMap | 0.032490968704224
Output for 7.2.3
Function | Time ----------------------------------------- searchForeach | 0.0087268352508545 searchArrayFilter | 0.017985105514526 uniqueForeach | 0.024821043014526 uniqueArrayMap | 0.037916898727417
Output for 7.2.2
Function | Time ----------------------------------------- searchForeach | 0.008430004119873 searchArrayFilter | 0.021787881851196 uniqueForeach | 0.028438091278076 uniqueArrayMap | 0.033030033111572
Output for 7.2.1
Function | Time ----------------------------------------- searchForeach | 0.0086231231689453 searchArrayFilter | 0.018218040466309 uniqueForeach | 0.029294967651367 uniqueArrayMap | 0.042441129684448
Output for 7.2.0
Function | Time ----------------------------------------- searchForeach | 0.010840892791748 searchArrayFilter | 0.021538019180298 uniqueForeach | 0.034506797790527 uniqueArrayMap | 0.048145055770874
Output for 7.1.25
Function | Time ----------------------------------------- searchForeach | 0.019207000732422 searchArrayFilter | 0.034118175506592 uniqueForeach | 0.022687911987305 uniqueArrayMap | 0.18949317932129
Output for 7.1.7
Function | Time ----------------------------------------- searchForeach | 0.0070228576660156 searchArrayFilter | 0.014944076538086 uniqueForeach | 0.0089449882507324 uniqueArrayMap | 0.085513114929199
Output for 7.1.6
Function | Time ----------------------------------------- searchForeach | 0.0092349052429199 searchArrayFilter | 0.019090175628662 uniqueForeach | 0.012218952178955 uniqueArrayMap | 0.095956087112427
Output for 7.1.5
Function | Time ----------------------------------------- searchForeach | 0.01286506652832 searchArrayFilter | 0.024049997329712 uniqueForeach | 0.013665914535522 uniqueArrayMap | 0.11927080154419
Output for 7.1.0
Function | Time ----------------------------------------- searchForeach | 0.010612964630127 searchArrayFilter | 0.021213054656982 uniqueForeach | 0.013200998306274 uniqueArrayMap | 0.10517501831055
Output for 7.0.20
Function | Time ----------------------------------------- searchForeach | 0.0098018646240234 searchArrayFilter | 0.018229007720947 uniqueForeach | 0.0089380741119385 uniqueArrayMap | 0.086803913116455
Output for 7.0.14
Function | Time ----------------------------------------- searchForeach | 0.010333061218262 searchArrayFilter | 0.022058963775635 uniqueForeach | 0.014835119247437 uniqueArrayMap | -0.092849016189575
Output for 7.0.10
Function | Time ----------------------------------------- searchForeach | 0.0080459117889404 searchArrayFilter | 0.01730489730835 uniqueForeach | 0.01658821105957 uniqueArrayMap | 0.1041419506073
Output for 7.0.9
Function | Time ----------------------------------------- searchForeach | 0.0073299407958984 searchArrayFilter | 0.015919923782349 uniqueForeach | 0.032816171646118 uniqueArrayMap | 0.12660002708435
Output for 7.0.8
Function | Time ----------------------------------------- searchForeach | 0.0066370964050293 searchArrayFilter | 0.014944076538086 uniqueForeach | 0.010546922683716 uniqueArrayMap | 0.092989921569824
Output for 7.0.7
Function | Time ----------------------------------------- searchForeach | 0.0067470073699951 searchArrayFilter | 0.015141010284424 uniqueForeach | 0.026585817337036 uniqueArrayMap | 0.11894798278809
Output for 7.0.6
Function | Time ----------------------------------------- searchForeach | 0.009857177734375 searchArrayFilter | 0.021265983581543 uniqueForeach | 0.010977029800415 uniqueArrayMap | 0.094440937042236
Output for 7.0.5
Function | Time ----------------------------------------- searchForeach | 0.0066201686859131 searchArrayFilter | 0.018502950668335 uniqueForeach | 0.059071063995361 uniqueArrayMap | 0.17143988609314
Output for 7.0.4
Function | Time ----------------------------------------- searchForeach | 0.0068180561065674 searchArrayFilter | 0.017771005630493 uniqueForeach | 0.056416034698486 uniqueArrayMap | 0.1670401096344
Output for 7.0.3
Function | Time ----------------------------------------- searchForeach | 0.0089929103851318 searchArrayFilter | 0.022521018981934 uniqueForeach | 0.011391878128052 uniqueArrayMap | 0.14843702316284
Output for 7.0.2
Function | Time ----------------------------------------- searchForeach | 0.0084218978881836 searchArrayFilter | 0.017849206924438 uniqueForeach | 0.061008930206299 uniqueArrayMap | 0.1778039932251
Output for 7.0.1
Function | Time ----------------------------------------- searchForeach | 0.0070090293884277 searchArrayFilter | 0.019073009490967 uniqueForeach | 0.061092138290405 uniqueArrayMap | 0.17124605178833
Output for 7.0.0
Function | Time ----------------------------------------- searchForeach | 0.0076420307159424 searchArrayFilter | 0.019284009933472 uniqueForeach | 0.047813892364502 uniqueArrayMap | 0.17728519439697
Output for 5.4.0 - 5.4.45, 5.5.0 - 5.5.38, 5.6.0 - 5.6.28
Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 32 bytes) in /in/NaefP on line 58
Process exited with code 255.
Output for 5.3.0 - 5.3.29
Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 71 bytes) in /in/NaefP on line 25
Process exited with code 255.
Output for 5.1.0 - 5.1.6, 5.2.0 - 5.2.17
Parse error: syntax error, unexpected T_FUNCTION in /in/NaefP on line 34
Process exited with code 255.
Output for 5.0.0 - 5.0.5
Parse error: parse error, unexpected T_FUNCTION in /in/NaefP on line 34
Process exited with code 255.
Output for 4.4.2 - 4.4.9
Parse error: syntax error, unexpected T_CONST, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/NaefP on line 5
Process exited with code 255.
Output for 4.3.0 - 4.3.1, 4.3.5 - 4.3.11, 4.4.0 - 4.4.1
Parse error: parse error, unexpected T_CONST, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/NaefP on line 5
Process exited with code 255.
Output for 4.3.2 - 4.3.4
Parse error: parse error, expecting `T_OLD_FUNCTION' or `T_FUNCTION' or `T_VAR' or `'}'' in /in/NaefP on line 5
Process exited with code 255.

preferences:
146.32 ms | 401 KiB | 232 Q