*** Testing unset(), empty() & isset() with scalar variables *** -- Iteration 1 -- bool(true) bool(true) bool(true) NULL bool(false) bool(false) bool(true) bool(false) bool(false) -- Iteration 2 -- bool(true) bool(true) bool(false) NULL bool(false) bool(false) bool(true) bool(false) bool(false) -- Iteration 3 -- bool(true) bool(true) bool(true) NULL bool(false) bool(false) bool(true) bool(false) bool(false) -- Iteration 4 -- bool(true) bool(true) bool(false) NULL bool(false) bool(false) bool(true) bool(false) bool(false) -- Iteration 5 -- bool(true) bool(true) bool(false) NULL bool(false) bool(false) bool(true) bool(false) bool(false) -- Iteration 6 -- bool(true) bool(true) bool(false) NULL bool(false) bool(false) bool(true) bool(false) bool(false) -- Iteration 7 -- bool(true) bool(true) bool(false) NULL bool(false) bool(false) bool(true) bool(false) bool(false) -- Iteration 8 -- bool(true) bool(true) bool(true) NULL bool(false) bool(false) bool(true) bool(false) bool(false) -- Iteration 9 -- bool(true) bool(true) bool(false) NULL bool(false) bool(false) bool(true) bool(false) bool(false) -- Iteration 10 -- bool(true) bool(true) bool(false) NULL bool(false) bool(false) bool(true) bool(false) bool(false) -- Iteration 11 -- bool(true) bool(true) bool(false) NULL bool(false) bool(false) bool(true) bool(false) bool(false) -- Iteration 12 -- bool(true) bool(true) bool(false) NULL bool(false) bool(false) bool(true) bool(false) bool(false) -- Iteration 13 -- bool(true) bool(true) bool(true) NULL bool(false) bool(false) bool(true) bool(false) bool(false) -- Iteration 14 -- bool(true) bool(true) bool(true) NULL bool(false) bool(false) bool(true) bool(false) bool(false) -- Iteration 15 -- bool(true) bool(true) bool(false) NULL bool(false) bool(false) bool(true) bool(false) bool(false) -- Iteration 16 -- bool(true) bool(true) bool(false) NULL bool(false) bool(false) bool(true) bool(false) bool(false) -- Iteration 17 -- bool(true) bool(true) bool(false) NULL bool(false) bool(false) bool(true) bool(false) bool(false) -- Iteration 18 -- bool(true) bool(true) bool(false) NULL bool(false) bool(false) bool(true) bool(false) bool(false) -- Iteration 19 -- bool(true) bool(true) bool(true) NULL bool(false) bool(false) bool(true) bool(false) bool(false) -- Iteration 20 -- bool(true) bool(true) bool(false) NULL bool(false) bool(false) bool(true) bool(false) bool(false) -- Iteration 21 -- bool(true) bool(true) bool(false) NULL bool(false) bool(false) bool(true) bool(false) bool(false) -- Iteration 22 -- bool(true) bool(true) bool(false) NULL bool(false) bool(false) bool(true) bool(false) bool(false) -- Iteration 23 -- bool(true) bool(true) bool(false) NULL bool(false) bool(false) bool(true) bool(false) bool(false) -- Iteration 24 -- bool(true) bool(true) bool(false) NULL bool(false) bool(false) bool(true) bool(false) bool(false) -- Iteration 25 -- bool(true) bool(true) bool(true) NULL bool(false) bool(false) bool(true) bool(false) bool(false) -- Iteration 26 -- bool(true) bool(true) bool(false) NULL bool(false) bool(false) bool(true) bool(false) bool(false) -- Iteration 27 -- bool(true) bool(true) bool(true) NULL bool(false) bool(false) bool(true) bool(false) bool(false) *** Testing unset(), empty() & isset() with arrays *** --- Outerloop Iteration 1 --- bool(false) bool(false) bool(false) bool(true) bool(true) bool(true) NULL bool(false) bool(false) bool(true) --- Outerloop Iteration 2 --- bool(false) bool(false) bool(false) bool(true) bool(false) bool(true) -- Innerloop Iteration 1 of Outerloop Iteration 2 -- array(0) { } bool(false) bool(false) bool(true) array(0) { } NULL bool(false) bool(false) bool(true) --- Outerloop Iteration 3 --- bool(false) bool(false) bool(false) bool(true) bool(false) bool(true) -- Innerloop Iteration 1 of Outerloop Iteration 3 -- array(0) { } bool(false) bool(false) bool(true) array(0) { } NULL bool(false) bool(false) bool(true) --- Outerloop Iteration 4 --- bool(false) bool(false) bool(false) bool(true) bool(false) bool(true) -- Innerloop Iteration 1 of Outerloop Iteration 4 -- array(0) { } bool(false) bool(false) bool(true) array(0) { } NULL bool(false) bool(false) bool(true) --- Outerloop Iteration 5 --- bool(false) bool(false) bool(false) bool(true) bool(false) bool(true) -- Innerloop Iteration 1 of Outerloop Iteration 5 -- array(0) { } bool(false) bool(false) bool(true) array(0) { } NULL bool(false) bool(false) bool(true) --- Outerloop Iteration 6 --- bool(false) bool(false) bool(false) bool(true) bool(false) bool(true) -- Innerloop Iteration 1 of Outerloop Iteration 6 -- array(3) { [1]=> int(2) [2]=> int(3) [3]=> int(4) } bool(false) bool(false) bool(true) array(3) { [1]=> int(2) [2]=> int(3) [3]=> int(4) } -- Innerloop Iteration 2 of Outerloop Iteration 6 -- array(2) { [2]=> int(3) [3]=> int(4) } bool(false) bool(false) bool(true) array(2) { [2]=> int(3) [3]=> int(4) } -- Innerloop Iteration 3 of Outerloop Iteration 6 -- array(1) { [3]=> int(4) } bool(false) bool(false) bool(true) array(1) { [3]=> int(4) } -- Innerloop Iteration 4 of Outerloop Iteration 6 -- array(0) { } bool(false) bool(false) bool(true) array(0) { } NULL bool(false) bool(false) bool(true) --- Outerloop Iteration 7 --- bool(false) bool(false) bool(false) bool(true) bool(false) bool(true) -- Innerloop Iteration 1 of Outerloop Iteration 7 -- array(2) { [1]=> float(2.5) [2]=> float(5.6) } bool(false) bool(false) bool(true) array(2) { [1]=> float(2.5) [2]=> float(5.6) } -- Innerloop Iteration 2 of Outerloop Iteration 7 -- array(1) { [2]=> float(5.6) } bool(false) bool(false) bool(true) array(1) { [2]=> float(5.6) } -- Innerloop Iteration 3 of Outerloop Iteration 7 -- array(0) { } bool(false) bool(false) bool(true) array(0) { } NULL bool(false) bool(false) bool(true) --- Outerloop Iteration 8 --- bool(false) bool(false) bool(false) bool(true) bool(false) bool(true) -- Innerloop Iteration 1 of Outerloop Iteration 8 -- array(1) { [2]=> string(3) "two" } bool(false) bool(false) bool(true) array(1) { [2]=> string(3) "two" } -- Innerloop Iteration 2 of Outerloop Iteration 8 -- array(0) { } bool(false) bool(false) bool(true) array(0) { } NULL bool(false) bool(false) bool(true) --- Outerloop Iteration 9 --- bool(false) bool(false) bool(false) bool(true) bool(false) bool(true) -- Innerloop Iteration 1 of Outerloop Iteration 9 -- array(1) { ["Age"]=> string(2) "30" } bool(false) bool(false) bool(true) array(1) { ["Age"]=> string(2) "30" } -- Innerloop Iteration 2 of Outerloop Iteration 9 -- array(0) { } bool(false) bool(false) bool(true) array(0) { } NULL bool(false) bool(false) bool(true) --- Outerloop Iteration 10 --- bool(false) bool(false) bool(false) bool(true) bool(false) bool(true) -- Innerloop Iteration 1 of Outerloop Iteration 10 -- array(4) { [1]=> int(2) ["One"]=> string(1) "1" [2]=> string(3) "two" [""]=> string(0) "" } bool(true) bool(true) bool(true) array(4) { [1]=> int(2) ["One"]=> string(1) "1" [2]=> string(3) "two" [""]=> string(0) "" } -- Innerloop Iteration 2 of Outerloop Iteration 10 -- array(3) { ["One"]=> string(1) "1" [2]=> string(3) "two" [""]=> string(0) "" } bool(true) bool(true) bool(true) array(3) { ["One"]=> string(1) "1" [2]=> string(3) "two" [""]=> string(0) "" } -- Innerloop Iteration 3 of Outerloop Iteration 10 -- array(2) { [2]=> string(3) "two" [""]=> string(0) "" } bool(true) bool(true) bool(true) array(2) { [2]=> string(3) "two" [""]=> string(0) "" } -- Innerloop Iteration 4 of Outerloop Iteration 10 -- array(1) { [""]=> string(0) "" } bool(true) bool(true) bool(true) array(1) { [""]=> string(0) "" } -- Innerloop Iteration 5 of Outerloop Iteration 10 -- array(0) { } bool(false) bool(false) bool(true) array(0) { } NULL bool(false) bool(false) bool(true) *** Testing unset(), empty() & isset() with resource variables *** -- Iteration 1 -- resource(3) of type (stream) bool(true) bool(false) bool(true) resource(3) of type (stream) bool(false) bool(true) bool(false) bool(false) NULL -- Iteration 2 -- resource(4) of type (stream) bool(true) bool(false) bool(true) resource(4) of type (stream) bool(false) bool(true) bool(false) bool(false) NULL NULL bool(false) bool(true) *** Testing unset(), empty() & isset() with objects *** object(Point)#1 (3) { ["x"]=> int(30) ["y"]=> int(40) ["lable"]=> NULL } bool(true) bool(false) bool(false) bool(true) bool(false) bool(true) object(Point)#1 (3) { ["x"]=> int(30) ["y"]=> int(40) ["lable"]=> string(6) "Point1" } object(Point)#1 (2) { ["y"]=> int(40) ["lable"]=> string(6) "Point1" } bool(false) bool(true) object(Point)#1 (0) { } bool(true) bool(false) bool(false) bool(true) NULL bool(false) bool(true) bool(false) bool(true) array(3) { [0]=> string(11) "__construct" [1]=> string(8) "setLable" [2]=> string(9) "testPoint" } object(Point)#1 (3) { ["x"]=> int(5) ["y"]=> int(6) ["lable"]=> NULL } *** Testing possible variation in operation for isset(), empty() & unset() *** ** Testing unset() variation 1: unset on static variable inside a function ** value of static_var before unset: 1 bool(true) bool(false) value of static_var after unset: bool(false) bool(true) value of static_var after new assignment: 20 value of static_var before unset: 2 bool(true) bool(false) value of static_var after unset: bool(false) bool(true) value of static_var after new assignment: 20 value of static_var before unset: 3 bool(true) bool(false) value of static_var after unset: bool(false) bool(true) value of static_var after new assignment: 20 ** Testing unset() variation 2: unset on a variable passed by ref. inside of a function ** string(5) "value" bool(false) bool(true) string(5) "value" ** Testing unset() variation 3: unset on a global variable inside of a function ** int(10) bool(true) bool(false) bool(false) bool(true) int(10)