1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
|
<?php
const A = ["test"];
class MyClass {
const CONSTANT = [0 => "test0", 1 => "test1", 2 => [0 => "test2"]];
public static $staticField = [0 => "test0", 1 => "test1"];
public function myMethod(){
return ["test1", "test2", "test3"];
}
public static function myStaticMethod() {
return ["test1", "test2", "test3"];
}
}
function testFunction() {
return ["a", "b", "c"];
}
function testFunction2() {
return function() {
return ["a", "b", "c"];
};
}
$a = A[0];
$c = 0;
$d = [0 => 1];
$myClass = new MyClass();
// PHP7: OK, PHP5.6: OK
var_dump(isset($b, $a));
var_dump(isset($myClass::$staticField[0]));
var_dump(isset(MyClass::$staticField[0]));
var_dump(isset(testFunction()[0]));
var_dump(isset($myClass->myMethod()[0]));
var_dump(isset(MyClass::myStaticMethod()[0]));
// PHP7: OK, PHP5.6: Error
var_dump(isset("test"[0]));
var_dump(isset("test"[0], $a));
var_dump(isset("test"[0], $b));
var_dump(isset([1][0]));
var_dump(isset(A[0]));
var_dump(isset($myClass::CONSTANT[0]));
var_dump(isset($myClass::CONSTANT[$c]));
var_dump(isset($myClass::CONSTANT[$d[0]]));
var_dump(isset($myClass::CONSTANT[2][$c]));
var_dump(isset(MyClass::CONSTANT[0]));
var_dump(isset(MyClass::CONSTANT[$c]));
var_dump(isset(MyClass::CONSTANT[$d[0]]));
var_dump(isset(MyClass::CONSTANT[2][$c]));
var_dump(isset(testFunction2()()[0]));
|