3v4l.org

run code in 300+ PHP versions simultaneously
<?php function check_array($arr = false, $index = false){ if(is_array($arr)){ if(is_numeric($index)||is_string($index)){ if(array_key_exists($index, $arr)){ return $arr[$index]; } } } return false; } $types = array( // boolean true, false, // sig int -2, -1, 0, 1, 2, // float 1.111, // string "Punc,tua!ti'o\"n", // array array(), array(0,1,2), array(1 => 0, 1, 2), // object new stdClass, // NULL NULL ); // print heading echo "array\tindex\tresult\n"; $run_once = false; foreach($types as $type){ $line = ''; $myArr = $type; foreach($types as $type){ $myIndex = $type; $line .= gettype($myArr); if(is_scalar($myArr)){ if($myArr === true){ $line .= '("TRUE")'; } else if($myArr === false){ $line .= '("FALSE")'; } else { $line .= "($myArr)"; } } $line .= "\t"; $line .= gettype($myIndex); if(is_scalar($myIndex)){ if($myIndex === true){ $line .= '("TRUE")'; } else if($myIndex === false){ $line .= '("FALSE")'; } else { $line .= "($myIndex)"; } } $line .= "\t"; $result = check_array($myArr, $myIndex); $line .= $result === false ? "FALSE" : $result; $line .= "\n"; echo $line; if(!is_array($myArr)){ break; } } }
Output for git.master, git.master_jit, rfc.property-hooks
array index result boolean("TRUE") boolean("TRUE") FALSE boolean("FALSE") boolean("TRUE") FALSE integer(-2) boolean("TRUE") FALSE integer(-1) boolean("TRUE") FALSE integer(0) boolean("TRUE") FALSE integer(1) boolean("TRUE") FALSE integer(2) boolean("TRUE") FALSE double(1.111) boolean("TRUE") FALSE string(Punc,tua!ti'o"n) boolean("TRUE") FALSE array boolean("TRUE") FALSE array boolean("TRUE") FALSE array boolean("FALSE") FALSE array boolean("TRUE") FALSE array boolean("FALSE") FALSE array integer(-2) FALSE array boolean("TRUE") FALSE array boolean("FALSE") FALSE array integer(-2) FALSE array integer(-1) FALSE array boolean("TRUE") FALSE array boolean("FALSE") FALSE array integer(-2) FALSE array integer(-1) FALSE array integer(0) FALSE array boolean("TRUE") FALSE array boolean("FALSE") FALSE array integer(-2) FALSE array integer(-1) FALSE array integer(0) FALSE array integer(1) FALSE array boolean("TRUE") FALSE array boolean("FALSE") FALSE array integer(-2) FALSE array integer(-1) FALSE array integer(0) FALSE array integer(1) FALSE array integer(2) FALSE Deprecated: Implicit conversion from float 1.111 to int loses precision in /in/gVCnK on line 6 array boolean("TRUE") FALSE array boolean("FALSE") FALSE array integer(-2) FALSE array integer(-1) FALSE array integer(0) FALSE array integer(1) FALSE array integer(2) FALSE array double(1.111) FALSE array boolean("TRUE") FALSE array boolean("FALSE") FALSE array integer(-2) FALSE array integer(-1) FALSE array integer(0) FALSE array integer(1) FALSE array integer(2) FALSE array double(1.111) FALSE array string(Punc,tua!ti'o"n) FALSE array boolean("TRUE") FALSE array boolean("FALSE") FALSE array integer(-2) FALSE array integer(-1) FALSE array integer(0) FALSE array integer(1) FALSE array integer(2) FALSE array double(1.111) FALSE array string(Punc,tua!ti'o"n) FALSE array array FALSE array boolean("TRUE") FALSE array boolean("FALSE") FALSE array integer(-2) FALSE array integer(-1) FALSE array integer(0) FALSE array integer(1) FALSE array integer(2) FALSE array double(1.111) FALSE array string(Punc,tua!ti'o"n) FALSE array array FALSE array array FALSE array boolean("TRUE") FALSE array boolean("FALSE") FALSE array integer(-2) FALSE array integer(-1) FALSE array integer(0) FALSE array integer(1) FALSE array integer(2) FALSE array double(1.111) FALSE array string(Punc,tua!ti'o"n) FALSE array array FALSE array array FALSE array array FALSE array boolean("TRUE") FALSE array boolean("FALSE") FALSE array integer(-2) FALSE array integer(-1) FALSE array integer(0) FALSE array integer(1) FALSE array integer(2) FALSE array double(1.111) FALSE array string(Punc,tua!ti'o"n) FALSE array array FALSE array array FALSE array array FALSE array object FALSE array boolean("TRUE") FALSE array boolean("FALSE") FALSE array integer(-2) FALSE array integer(-1) FALSE array integer(0) FALSE array integer(1) FALSE array integer(2) FALSE array double(1.111) FALSE array string(Punc,tua!ti'o"n) FALSE array array FALSE array array FALSE array array FALSE array object FALSE array NULL FALSE array boolean("TRUE") FALSE array boolean("TRUE") FALSE array boolean("FALSE") FALSE array boolean("TRUE") FALSE array boolean("FALSE") FALSE array integer(-2) FALSE array boolean("TRUE") FALSE array boolean("FALSE") FALSE array integer(-2) FALSE array integer(-1) FALSE array boolean("TRUE") FALSE array boolean("FALSE") FALSE array integer(-2) FALSE array integer(-1) FALSE array integer(0) 0 array boolean("TRUE") FALSE array boolean("FALSE") FALSE array integer(-2) FALSE array integer(-1) FALSE array integer(0) 0 array integer(1) 1 array boolean("TRUE") FALSE array boolean("FALSE") FALSE array integer(-2) FALSE array integer(-1) FALSE array integer(0) 0 array integer(1) 1 array integer(2) 2 Deprecated: Implicit conversion from float 1.111 to int loses precision in /in/gVCnK on line 6 Deprecated: Implicit conversion from float 1.111 to int loses precision in /in/gVCnK on line 7 array boolean("TRUE") FALSE array boolean("FALSE") FALSE array integer(-2) FALSE array integer(-1) FALSE array integer(0) 0 array integer(1) 1 array integer(2) 2 array double(1.111) 1 array boolean("TRUE") FALSE array boolean("FALSE") FALSE array integer(-2) FALSE array integer(-1) FALSE array integer(0) 0 array integer(1) 1 array integer(2) 2 array double(1.111) 1 array string(Punc,tua!ti'o"n) FALSE array boolean("TRUE") FALSE array boolean("FALSE") FALSE array integer(-2) FALSE array integer(-1) FALSE array integer(0) 0 array integer(1) 1 array integer(2) 2 array double(1.111) 1 array string(Punc,tua!ti'o"n) FALSE array array FALSE array boolean("TRUE") FALSE array boolean("FALSE") FALSE array integer(-2) FALSE array integer(-1) FALSE array integer(0) 0 array integer(1) 1 array integer(2) 2 array double(1.111) 1 array string(Punc,tua!ti'o"n) FALSE array array FALSE array array FALSE array boolean("TRUE") FALSE array boolean("FALSE") FALSE array integer(-2) FALSE array integer(-1) FALSE array integer(0) 0 array integer(1) 1 array integer(2) 2 array double(1.111) 1 array string(Punc,tua!ti'o"n) FALSE array array FALSE array array FALSE array array FALSE array boolean("TRUE") FALSE array boolean("FALSE") FALSE array integer(-2) FALSE array integer(-1) FALSE array integer(0) 0 array integer(1) 1 array integer(2) 2 array double(1.111) 1 array string(Punc,tua!ti'o"n) FALSE array array FALSE array array FALSE array array FALSE array object FALSE array boolean("TRUE") FALSE array boolean("FALSE") FALSE array integer(-2) FALSE array integer(-1) FALSE array integer(0) 0 array integer(1) 1 array integer(2) 2 array double(1.111) 1 array string(Punc,tua!ti'o"n) FALSE array array FALSE array array FALSE array array FALSE array object FALSE array NULL FALSE array boolean("TRUE") FALSE array boolean("TRUE") FALSE array boolean("FALSE") FALSE array boolean("TRUE") FALSE array boolean("FALSE") FALSE array integer(-2) FALSE array boolean("TRUE") FALSE array boolean("FALSE") FALSE array integer(-2) FALSE array integer(-1) FALSE array boolean("TRUE") FALSE array boolean("FALSE") FALSE array integer(-2) FALSE array integer(-1) FALSE array integer(0) FALSE array boolean("TRUE") FALSE array boolean("FALSE") FALSE array integer(-2) FALSE array integer(-1) FALSE array integer(0) FALSE array integer(1) 0 array boolean("TRUE") FALSE array boolean("FALSE") FALSE array integer(-2) FALSE array integer(-1) FALSE array integer(0) FALSE array integer(1) 0 array integer(2) 1 Deprecated: Implicit conversion from float 1.111 to int loses precision in /in/gVCnK on line 6 Deprecated: Implicit conversion from float 1.111 to int loses precision in /in/gVCnK on line 7 array boolean("TRUE") FALSE array boolean("FALSE") FALSE array integer(-2) FALSE array integer(-1) FALSE array integer(0) FALSE array integer(1) 0 array integer(2) 1 array double(1.111) 0 array boolean("TRUE") FALSE array boolean("FALSE") FALSE array integer(-2) FALSE array integer(-1) FALSE array integer(0) FALSE array integer(1) 0 array integer(2) 1 array double(1.111) 0 array string(Punc,tua!ti'o"n) FALSE array boolean("TRUE") FALSE array boolean("FALSE") FALSE array integer(-2) FALSE array integer(-1) FALSE array integer(0) FALSE array integer(1) 0 array integer(2) 1 array double(1.111) 0 array string(Punc,tua!ti'o"n) FALSE array array FALSE array boolean("TRUE") FALSE array boolean("FALSE") FALSE array integer(-2) FALSE array integer(-1) FALSE array integer(0) FALSE array integer(1) 0 array integer(2) 1 array double(1.111) 0 array string(Punc,tua!ti'o"n) FALSE array array FALSE array array FALSE array boolean("TRUE") FALSE array boolean("FALSE") FALSE array integer(-2) FALSE array integer(-1) FALSE array integer(0) FALSE array integer(1) 0 array integer(2) 1 array double(1.111) 0 array string(Punc,tua!ti'o"n) FALSE array array FALSE array array FALSE array array FALSE array boolean("TRUE") FALSE array boolean("FALSE") FALSE array integer(-2) FALSE array integer(-1) FALSE array integer(0) FALSE array integer(1) 0 array integer(2) 1 array double(1.111) 0 array string(Punc,tua!ti'o"n) FALSE array array FALSE array array FALSE array array FALSE array object FALSE array boolean("TRUE") FALSE array boolean("FALSE") FALSE array integer(-2) FALSE array integer(-1) FALSE array integer(0) FALSE array integer(1) 0 array integer(2) 1 array double(1.111) 0 array string(Punc,tua!ti'o"n) FALSE array array FALSE array array FALSE array array FALSE array object FALSE array NULL FALSE object boolean("TRUE") FALSE NULL boolean("TRUE") FALSE

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

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


preferences:
62.7 ms | 421 KiB | 8 Q