xref: /PHP-7.2/Zend/tests/019.phpt (revision 17ccbeec)
1--TEST--
2Test unset(), empty() and isset() functions
3--FILE--
4<?php
5/* Prototype: void unset ( mixed $var [, mixed $var [, mixed $...]] );
6   Description: unset() destroys the specified variables
7
8   Prototype: bool empty( mixed $var );
9   Description: Determine whether a variable is considered to be empty
10
11   Prototype: bool isset ( mixed $var [, mixed $var [, $...]] );
12   Description: Returns TRUE if var exists; FALSE otherwise
13*/
14
15echo "*** Testing unset(), empty() & isset() with scalar variables ***\n";
16
17// testing scalar variables
18$scalar_variables = array(
19  0,
20  1,
21  +1
22  -1,
23  0x55,
24  -0xFA,
25  0123,
26  -0563,
27  0.0,
28  1e5,
29  1E-5,
30  -1.5e5,
31  +5.6,
32  "",
33  '',
34  " ",
35  ' ',
36  "string",
37  "123",
38  "0",
39  "ture",
40  "FALSE",
41  "NULL",
42  "null",
43  true,
44  false,
45  TRUE,
46  FALSE
47);
48
49$loop_counter = 1;
50foreach ($scalar_variables as $scalar_var) {
51  $set_var = 10; // this variable to use with isset
52  echo "-- Iteration $loop_counter --\n"; $loop_counter++;
53
54  // checking with isset before unsetting, expected: bool(true)
55  var_dump( isset($scalar_var) );
56  var_dump( isset($scalar_var, $set_var) );
57  // checking if the var is empty, expected: bool(false) on most
58  // except "", 0, "0", NULL, FALSE
59  var_dump( empty($scalar_var) );
60
61  // destroy the variable using unset
62  unset( $scalar_var );
63  // dump and see if its destroyed, expcted: NULL
64  var_dump( $scalar_var );
65
66  // check using isset to see if unset, expected: bool(false)
67  var_dump( isset($scalar_var) );
68  var_dump( isset($scalar_var, $set_var) );
69
70  // empty to check if empty, expecting bool(true)
71  var_dump( empty($scalar_var) );
72
73  // isset() with two args, one arg only unset, expected: bool(false)
74  var_dump( isset($scalar_var, $set_var) );
75
76  // isset() with two args, both args already unset, expected: bool(false);
77  unset($set_var);
78  var_dump( isset($scalar_var, $set_var) );
79}
80
81echo "\n*** Testing unset(), empty() & isset() with arrays ***\n";
82$array_variables = array(
83  array(),
84  array(NULL),
85  array(0),
86  array("0"),
87  array(""),
88  array(1,2,3,4),
89  array(1.4,2.5,5.6),
90  array(1 => "One", 2 => "two"),
91  array("Name" => "Jack", "Age" => "30"),
92  array(1,2, "One" => "1", 2 => "two", ""=>"empty", "" => '')
93);
94
95$outer_loop_counter = 1;
96foreach ($array_variables as $array_var) {
97  echo "--- Outerloop Iteration $outer_loop_counter ---\n";
98
99  // check the isset and unset on non existing key
100  $var = 1;  // a var which is defined
101  // try to unset the element which is non-existent
102  unset($array_var['non_existent']);
103  // check using isset() & empty() on a non_existent element in the array
104  var_dump( isset($array_var['non_existent']) );
105  var_dump( isset($array_var['non_existent'], $var) );
106  var_dump( isset($array_var['non_existent'], $array_var['none']) );
107  var_dump( empty($array_var['non_existent']) );
108
109  // testing empty and isset on arrays
110  var_dump( empty($array_var) ); // expecting bool(false), except: array(), which is considered empty
111  var_dump( isset($array_var) ); // expecting bool(true), except: array(), which is not set
112
113  // get the keys of the $array_var
114  $keys = array_keys($array_var);
115  // unset each element in the array and see the working of unset, isset & empty
116  $inner_loop_counter = 1;
117  foreach ($keys as $key_value) {
118    echo "-- Innerloop Iteration $inner_loop_counter of Outerloop Iteration $outer_loop_counter --\n";
119    $inner_loop_counter++;
120
121    // unset the element
122    unset($array_var[$key_value]);
123    // dump the array after element was unset
124    var_dump($array_var);
125    // check using isset for the element that was unset
126    var_dump( isset($array_var[$key_val]) ); // expected: bool(false)
127    // calling isset with more args
128    var_dump( isset($array_var[$key_val], $array_var) ); //expected: bool(false)
129
130    // calling empty, expected bool(true)
131    var_dump( empty($array_var[$key_val]) );
132
133    // dump the array to see that that array did not get modified
134    // because of using isset, empty and unset on its element
135    var_dump($array_var);
136  }
137
138  $outer_loop_counter++;
139
140  // unset the whole array
141  unset($array_var);
142  // dump the array to see its unset
143  var_dump($array_var);
144  // use isset to see that array is not set
145  var_dump( isset($array_var) ); //expected: bool(false)
146  var_dump( isset($array_var, $array_var[$key_val]) ); // expected: bool(false)
147
148  // empty() to see if the array is empty
149  var_dump( empty($array_var) ); // expected: bool(true)
150}
151
152echo "\n*** Testing unset(), emtpy() & isset() with resource variables ***\n";
153$fp = fopen(__FILE__, "r");
154$dfp = opendir( dirname(__FILE__) );
155$resources = array (
156  $fp,
157  $dfp
158);
159$loop_counter = 1;
160foreach ($resources as $resource) {
161  $temp_var = 10;
162  echo "-- Iteration $loop_counter --\n"; $loop_counter++;
163  //dump the resource first
164  var_dump($resource);
165
166  // check using isset() and empty()
167  var_dump( isset($resource) );  // expected: bool(true)
168  var_dump( empty($resource) );  // expected: bool(false)
169  // call isset() with two args, both set
170  var_dump( isset($resource, $temp_var) ); // expected: bool(true)
171
172  // dump the resource to see using isset() and empty () had no effect on it
173  var_dump($resource);
174
175  // unset the resource
176  unset($resource);
177  // check using isset() and empty()
178  var_dump( isset($resource) );  // expected: bool(flase)
179  var_dump( empty($resource) );  // expected: bool(true)
180  // call isset() with two args, but one set
181  var_dump( isset($resource, $temp_var) ); // expected: bool(false)
182  // uset the temp_var
183  unset($temp_var);
184  // now the isset() with both the args as unset
185  var_dump( isset($resource, $temp_var) ); // expected: bool(false);
186
187  // dump the resource to see if there any effect on it
188  var_dump($resource);
189}
190// unset and dump the array containing all the resources to see that
191// unset works correctly
192unset($resources);
193var_dump($resources);
194var_dump( isset($resources) );  //expected: bool(false)
195var_dump( empty($resources) );  // expected: bool(true)
196
197echo "\n*** Testing unset(), empty() & isset() with objects ***\n";
198class Point
199{
200  var $x;
201  var $y;
202  var $lable;
203
204  function __construct($x, $y) {
205    $this->x = $x;
206    $this->y = $y;
207  }
208
209  function setLable($lable) {
210    $this->lable = $lable;
211  }
212  function testPoint() {
213    echo "\nPoint::testPoint() called\n";
214  }
215}
216$point1 = new Point(30,40);
217
218// use unset/empty/isset to check the object
219var_dump($point1); // dump the object
220
221// check the object and member that is not set
222var_dump( isset($point1) );  // expected: bool(true)
223var_dump( empty($point1) );  // expected: bool(false)
224var_dump( isset($point1->$lable) );  //expected: bool(flase)
225var_dump( empty($point1->$lable) );  //expected: bool(true)
226
227//set the member variable lable and check
228$point1->setLable("Point1");
229var_dump( isset($point1->$lable) );  //expected: bool(true)
230var_dump( empty($point1->$lable) );  //expected: bool(false)
231
232// dump the object to see that obj was not harmed
233// because of the usage of the isset & empty
234var_dump($point1);
235
236//unset a member and check
237unset($point1->x);
238// dump the point to see that variable was unset
239var_dump($point1);
240var_dump( isset($point1->x) );  // expected: bool(false)
241var_dump( empty($point1->x) );  // expected: bool(true)
242
243// unset all members and check
244unset($point1->y);
245unset($point1->lable);
246// dump the objec to check that all variables are unset
247var_dump($point1);
248var_dump( isset($point1) );  // expected: bool(ture)
249var_dump( empty($point1) );  // expected: bool(false)
250
251//unset the object and check
252unset($point1);
253var_dump( isset($point1) );  // expected: bool(false)
254var_dump( empty($point1) );  // expected: bool(true)
255// dump to see that object is unset
256var_dump($point1);
257
258// try isset/unset/empty on a member function
259$point2 = new Point(5,6);
260var_dump( isset($point2->testPoint) );
261var_dump( empty($point2->testPoint) );
262unset($point2->testPoint);
263var_dump( isset($point2->testPoint) );
264var_dump( empty($point2->testPoint) );
265
266// use get_class_methods to see effect if any
267var_dump( get_class_methods($point2) );
268// dump the object to see the effect, none expected
269var_dump($point2);
270
271/* testing variation in operation for isset(), empty() & unset().
272Note: Most of the variation for function unset() is testing by a
273      set of testcases named "Zend/tests/unset_cv??.phpt", only
274      variation not tested are attempted here */
275
276echo "\n*** Testing possible variation in operation for isset(), empty() & unset() ***\n";
277/* unset() variation1: checking unset on static variable inside a function.
278 * unset() destroys the variable only in the context of the rest of a function
279 * Following calls will restore the previous value of a variable.
280 */
281echo "\n** Testing unset() variation 1: unset on static variable inside a function **\n";
282function test_unset1() {
283  static $static_var;
284
285  // increment the value of the static. this change is in function context
286  $static_var ++;
287
288  echo "value of static_var before unset: $static_var\n";
289  // check using isset and empty
290  var_dump( isset($static_var) );
291  var_dump( empty($static_var) );
292
293  // unset the static var
294  unset($static_var);
295  echo "value of static_var after unset: $static_var\n";
296  // check using isset and empty
297  var_dump( isset($static_var) );
298  var_dump( empty($static_var) );
299
300  // assign a value to static var
301  $static_var = 20;
302  echo "value of static_var after new assignment: $static_var\n";
303}
304// call the functiont
305test_unset1();
306test_unset1();
307test_unset1();
308
309
310echo "\n** Testing unset() variation 2: unset on a variable passed by ref. inside of a function **\n";
311/* unset() variation2: Pass by reference
312 * If a variable that is PASSED BY REFERENCE is unset() inside of a function,
313 * only the local variable is destroyed. The variable in the calling environment
314 * will retain the same value as before unset()  was called.
315 */
316function test_unset2( &$ref_val ) {
317  // unset the variable passed
318  unset($ref_val);
319  // check using isset and empty to confirm
320  var_dump( isset($ref_val) );
321  var_dump( empty($ref_val) );
322
323  // set the value ot a new one
324  $ref_val = "new value by ref";
325}
326
327$value = "value";
328var_dump($value);
329test_unset2($value);
330var_dump($value);
331
332
333echo "\n** Testing unset() variation 3: unset on a global variable inside of a function **\n";
334/* unset() variation2: unset on a global variable inside a function
335 * If a globalized variable is unset() inside of a function, only the
336 * local variable is destroyed. The variable in the calling environment
337 * will retain the same value as before unset() was called.
338 */
339$global_var = 10;
340
341function test_unset3() {
342  global $global_var;
343
344  // check the $global_var using isset and empty
345  var_dump( isset($global_var) );
346  var_dump( empty($global_var) );
347
348  // unset the global var
349  unset($global_var);
350
351  // check the $global_var using isset and empty
352  var_dump( isset($global_var) );
353  var_dump( empty($global_var) );
354}
355
356var_dump($global_var);
357test_unset3();
358var_dump($global_var);
359
360//Note: No error conditions relating to passing arguments can be tested
361// because these are not functions but statements, it will result in syntax error.
362?>
363===DONE===
364--EXPECTF--
365*** Testing unset(), empty() & isset() with scalar variables ***
366-- Iteration 1 --
367bool(true)
368bool(true)
369bool(true)
370
371Notice: Undefined variable: scalar_var in %s on line %d
372NULL
373bool(false)
374bool(false)
375bool(true)
376bool(false)
377bool(false)
378-- Iteration 2 --
379bool(true)
380bool(true)
381bool(false)
382
383Notice: Undefined variable: scalar_var in %s on line %d
384NULL
385bool(false)
386bool(false)
387bool(true)
388bool(false)
389bool(false)
390-- Iteration 3 --
391bool(true)
392bool(true)
393bool(true)
394
395Notice: Undefined variable: scalar_var in %s on line %d
396NULL
397bool(false)
398bool(false)
399bool(true)
400bool(false)
401bool(false)
402-- Iteration 4 --
403bool(true)
404bool(true)
405bool(false)
406
407Notice: Undefined variable: scalar_var in %s on line %d
408NULL
409bool(false)
410bool(false)
411bool(true)
412bool(false)
413bool(false)
414-- Iteration 5 --
415bool(true)
416bool(true)
417bool(false)
418
419Notice: Undefined variable: scalar_var in %s on line %d
420NULL
421bool(false)
422bool(false)
423bool(true)
424bool(false)
425bool(false)
426-- Iteration 6 --
427bool(true)
428bool(true)
429bool(false)
430
431Notice: Undefined variable: scalar_var in %s on line %d
432NULL
433bool(false)
434bool(false)
435bool(true)
436bool(false)
437bool(false)
438-- Iteration 7 --
439bool(true)
440bool(true)
441bool(false)
442
443Notice: Undefined variable: scalar_var in %s on line %d
444NULL
445bool(false)
446bool(false)
447bool(true)
448bool(false)
449bool(false)
450-- Iteration 8 --
451bool(true)
452bool(true)
453bool(true)
454
455Notice: Undefined variable: scalar_var in %s on line %d
456NULL
457bool(false)
458bool(false)
459bool(true)
460bool(false)
461bool(false)
462-- Iteration 9 --
463bool(true)
464bool(true)
465bool(false)
466
467Notice: Undefined variable: scalar_var in %s on line %d
468NULL
469bool(false)
470bool(false)
471bool(true)
472bool(false)
473bool(false)
474-- Iteration 10 --
475bool(true)
476bool(true)
477bool(false)
478
479Notice: Undefined variable: scalar_var in %s on line %d
480NULL
481bool(false)
482bool(false)
483bool(true)
484bool(false)
485bool(false)
486-- Iteration 11 --
487bool(true)
488bool(true)
489bool(false)
490
491Notice: Undefined variable: scalar_var in %s on line %d
492NULL
493bool(false)
494bool(false)
495bool(true)
496bool(false)
497bool(false)
498-- Iteration 12 --
499bool(true)
500bool(true)
501bool(false)
502
503Notice: Undefined variable: scalar_var in %s on line %d
504NULL
505bool(false)
506bool(false)
507bool(true)
508bool(false)
509bool(false)
510-- Iteration 13 --
511bool(true)
512bool(true)
513bool(true)
514
515Notice: Undefined variable: scalar_var in %s on line %d
516NULL
517bool(false)
518bool(false)
519bool(true)
520bool(false)
521bool(false)
522-- Iteration 14 --
523bool(true)
524bool(true)
525bool(true)
526
527Notice: Undefined variable: scalar_var in %s on line %d
528NULL
529bool(false)
530bool(false)
531bool(true)
532bool(false)
533bool(false)
534-- Iteration 15 --
535bool(true)
536bool(true)
537bool(false)
538
539Notice: Undefined variable: scalar_var in %s on line %d
540NULL
541bool(false)
542bool(false)
543bool(true)
544bool(false)
545bool(false)
546-- Iteration 16 --
547bool(true)
548bool(true)
549bool(false)
550
551Notice: Undefined variable: scalar_var in %s on line %d
552NULL
553bool(false)
554bool(false)
555bool(true)
556bool(false)
557bool(false)
558-- Iteration 17 --
559bool(true)
560bool(true)
561bool(false)
562
563Notice: Undefined variable: scalar_var in %s on line %d
564NULL
565bool(false)
566bool(false)
567bool(true)
568bool(false)
569bool(false)
570-- Iteration 18 --
571bool(true)
572bool(true)
573bool(false)
574
575Notice: Undefined variable: scalar_var in %s on line %d
576NULL
577bool(false)
578bool(false)
579bool(true)
580bool(false)
581bool(false)
582-- Iteration 19 --
583bool(true)
584bool(true)
585bool(true)
586
587Notice: Undefined variable: scalar_var in %s on line %d
588NULL
589bool(false)
590bool(false)
591bool(true)
592bool(false)
593bool(false)
594-- Iteration 20 --
595bool(true)
596bool(true)
597bool(false)
598
599Notice: Undefined variable: scalar_var in %s on line %d
600NULL
601bool(false)
602bool(false)
603bool(true)
604bool(false)
605bool(false)
606-- Iteration 21 --
607bool(true)
608bool(true)
609bool(false)
610
611Notice: Undefined variable: scalar_var in %s on line %d
612NULL
613bool(false)
614bool(false)
615bool(true)
616bool(false)
617bool(false)
618-- Iteration 22 --
619bool(true)
620bool(true)
621bool(false)
622
623Notice: Undefined variable: scalar_var in %s on line %d
624NULL
625bool(false)
626bool(false)
627bool(true)
628bool(false)
629bool(false)
630-- Iteration 23 --
631bool(true)
632bool(true)
633bool(false)
634
635Notice: Undefined variable: scalar_var in %s on line %d
636NULL
637bool(false)
638bool(false)
639bool(true)
640bool(false)
641bool(false)
642-- Iteration 24 --
643bool(true)
644bool(true)
645bool(false)
646
647Notice: Undefined variable: scalar_var in %s on line %d
648NULL
649bool(false)
650bool(false)
651bool(true)
652bool(false)
653bool(false)
654-- Iteration 25 --
655bool(true)
656bool(true)
657bool(true)
658
659Notice: Undefined variable: scalar_var in %s on line %d
660NULL
661bool(false)
662bool(false)
663bool(true)
664bool(false)
665bool(false)
666-- Iteration 26 --
667bool(true)
668bool(true)
669bool(false)
670
671Notice: Undefined variable: scalar_var in %s on line %d
672NULL
673bool(false)
674bool(false)
675bool(true)
676bool(false)
677bool(false)
678-- Iteration 27 --
679bool(true)
680bool(true)
681bool(true)
682
683Notice: Undefined variable: scalar_var in %s on line %d
684NULL
685bool(false)
686bool(false)
687bool(true)
688bool(false)
689bool(false)
690
691*** Testing unset(), empty() & isset() with arrays ***
692--- Outerloop Iteration 1 ---
693bool(false)
694bool(false)
695bool(false)
696bool(true)
697bool(true)
698bool(true)
699
700Notice: Undefined variable: array_var in %s on line %d
701NULL
702bool(false)
703bool(false)
704bool(true)
705--- Outerloop Iteration 2 ---
706bool(false)
707bool(false)
708bool(false)
709bool(true)
710bool(false)
711bool(true)
712-- Innerloop Iteration 1 of Outerloop Iteration 2 --
713array(0) {
714}
715
716Notice: Undefined variable: key_val in %s on line %d
717bool(false)
718
719Notice: Undefined variable: key_val in %s on line %d
720bool(false)
721
722Notice: Undefined variable: key_val in %s on line %d
723bool(true)
724array(0) {
725}
726
727Notice: Undefined variable: array_var in %s on line %d
728NULL
729bool(false)
730bool(false)
731bool(true)
732--- Outerloop Iteration 3 ---
733bool(false)
734bool(false)
735bool(false)
736bool(true)
737bool(false)
738bool(true)
739-- Innerloop Iteration 1 of Outerloop Iteration 3 --
740array(0) {
741}
742
743Notice: Undefined variable: key_val in %s on line %d
744bool(false)
745
746Notice: Undefined variable: key_val in %s on line %d
747bool(false)
748
749Notice: Undefined variable: key_val in %s on line %d
750bool(true)
751array(0) {
752}
753
754Notice: Undefined variable: array_var in %s on line %d
755NULL
756bool(false)
757bool(false)
758bool(true)
759--- Outerloop Iteration 4 ---
760bool(false)
761bool(false)
762bool(false)
763bool(true)
764bool(false)
765bool(true)
766-- Innerloop Iteration 1 of Outerloop Iteration 4 --
767array(0) {
768}
769
770Notice: Undefined variable: key_val in %s on line %d
771bool(false)
772
773Notice: Undefined variable: key_val in %s on line %d
774bool(false)
775
776Notice: Undefined variable: key_val in %s on line %d
777bool(true)
778array(0) {
779}
780
781Notice: Undefined variable: array_var in %s on line %d
782NULL
783bool(false)
784bool(false)
785bool(true)
786--- Outerloop Iteration 5 ---
787bool(false)
788bool(false)
789bool(false)
790bool(true)
791bool(false)
792bool(true)
793-- Innerloop Iteration 1 of Outerloop Iteration 5 --
794array(0) {
795}
796
797Notice: Undefined variable: key_val in %s on line %d
798bool(false)
799
800Notice: Undefined variable: key_val in %s on line %d
801bool(false)
802
803Notice: Undefined variable: key_val in %s on line %d
804bool(true)
805array(0) {
806}
807
808Notice: Undefined variable: array_var in %s on line %d
809NULL
810bool(false)
811bool(false)
812bool(true)
813--- Outerloop Iteration 6 ---
814bool(false)
815bool(false)
816bool(false)
817bool(true)
818bool(false)
819bool(true)
820-- Innerloop Iteration 1 of Outerloop Iteration 6 --
821array(3) {
822  [1]=>
823  int(2)
824  [2]=>
825  int(3)
826  [3]=>
827  int(4)
828}
829
830Notice: Undefined variable: key_val in %s on line %d
831bool(false)
832
833Notice: Undefined variable: key_val in %s on line %d
834bool(false)
835
836Notice: Undefined variable: key_val in %s on line %d
837bool(true)
838array(3) {
839  [1]=>
840  int(2)
841  [2]=>
842  int(3)
843  [3]=>
844  int(4)
845}
846-- Innerloop Iteration 2 of Outerloop Iteration 6 --
847array(2) {
848  [2]=>
849  int(3)
850  [3]=>
851  int(4)
852}
853
854Notice: Undefined variable: key_val in %s on line %d
855bool(false)
856
857Notice: Undefined variable: key_val in %s on line %d
858bool(false)
859
860Notice: Undefined variable: key_val in %s on line %d
861bool(true)
862array(2) {
863  [2]=>
864  int(3)
865  [3]=>
866  int(4)
867}
868-- Innerloop Iteration 3 of Outerloop Iteration 6 --
869array(1) {
870  [3]=>
871  int(4)
872}
873
874Notice: Undefined variable: key_val in %s on line %d
875bool(false)
876
877Notice: Undefined variable: key_val in %s on line %d
878bool(false)
879
880Notice: Undefined variable: key_val in %s on line %d
881bool(true)
882array(1) {
883  [3]=>
884  int(4)
885}
886-- Innerloop Iteration 4 of Outerloop Iteration 6 --
887array(0) {
888}
889
890Notice: Undefined variable: key_val in %s on line %d
891bool(false)
892
893Notice: Undefined variable: key_val in %s on line %d
894bool(false)
895
896Notice: Undefined variable: key_val in %s on line %d
897bool(true)
898array(0) {
899}
900
901Notice: Undefined variable: array_var in %s on line %d
902NULL
903bool(false)
904bool(false)
905bool(true)
906--- Outerloop Iteration 7 ---
907bool(false)
908bool(false)
909bool(false)
910bool(true)
911bool(false)
912bool(true)
913-- Innerloop Iteration 1 of Outerloop Iteration 7 --
914array(2) {
915  [1]=>
916  float(2.5)
917  [2]=>
918  float(5.6)
919}
920
921Notice: Undefined variable: key_val in %s on line %d
922bool(false)
923
924Notice: Undefined variable: key_val in %s on line %d
925bool(false)
926
927Notice: Undefined variable: key_val in %s on line %d
928bool(true)
929array(2) {
930  [1]=>
931  float(2.5)
932  [2]=>
933  float(5.6)
934}
935-- Innerloop Iteration 2 of Outerloop Iteration 7 --
936array(1) {
937  [2]=>
938  float(5.6)
939}
940
941Notice: Undefined variable: key_val in %s on line %d
942bool(false)
943
944Notice: Undefined variable: key_val in %s on line %d
945bool(false)
946
947Notice: Undefined variable: key_val in %s on line %d
948bool(true)
949array(1) {
950  [2]=>
951  float(5.6)
952}
953-- Innerloop Iteration 3 of Outerloop Iteration 7 --
954array(0) {
955}
956
957Notice: Undefined variable: key_val in %s on line %d
958bool(false)
959
960Notice: Undefined variable: key_val in %s on line %d
961bool(false)
962
963Notice: Undefined variable: key_val in %s on line %d
964bool(true)
965array(0) {
966}
967
968Notice: Undefined variable: array_var in %s on line %d
969NULL
970bool(false)
971bool(false)
972bool(true)
973--- Outerloop Iteration 8 ---
974bool(false)
975bool(false)
976bool(false)
977bool(true)
978bool(false)
979bool(true)
980-- Innerloop Iteration 1 of Outerloop Iteration 8 --
981array(1) {
982  [2]=>
983  string(3) "two"
984}
985
986Notice: Undefined variable: key_val in %s on line %d
987bool(false)
988
989Notice: Undefined variable: key_val in %s on line %d
990bool(false)
991
992Notice: Undefined variable: key_val in %s on line %d
993bool(true)
994array(1) {
995  [2]=>
996  string(3) "two"
997}
998-- Innerloop Iteration 2 of Outerloop Iteration 8 --
999array(0) {
1000}
1001
1002Notice: Undefined variable: key_val in %s on line %d
1003bool(false)
1004
1005Notice: Undefined variable: key_val in %s on line %d
1006bool(false)
1007
1008Notice: Undefined variable: key_val in %s on line %d
1009bool(true)
1010array(0) {
1011}
1012
1013Notice: Undefined variable: array_var in %s on line %d
1014NULL
1015bool(false)
1016bool(false)
1017bool(true)
1018--- Outerloop Iteration 9 ---
1019bool(false)
1020bool(false)
1021bool(false)
1022bool(true)
1023bool(false)
1024bool(true)
1025-- Innerloop Iteration 1 of Outerloop Iteration 9 --
1026array(1) {
1027  ["Age"]=>
1028  string(2) "30"
1029}
1030
1031Notice: Undefined variable: key_val in %s on line %d
1032bool(false)
1033
1034Notice: Undefined variable: key_val in %s on line %d
1035bool(false)
1036
1037Notice: Undefined variable: key_val in %s on line %d
1038bool(true)
1039array(1) {
1040  ["Age"]=>
1041  string(2) "30"
1042}
1043-- Innerloop Iteration 2 of Outerloop Iteration 9 --
1044array(0) {
1045}
1046
1047Notice: Undefined variable: key_val in %s on line %d
1048bool(false)
1049
1050Notice: Undefined variable: key_val in %s on line %d
1051bool(false)
1052
1053Notice: Undefined variable: key_val in %s on line %d
1054bool(true)
1055array(0) {
1056}
1057
1058Notice: Undefined variable: array_var in %s on line %d
1059NULL
1060bool(false)
1061bool(false)
1062bool(true)
1063--- Outerloop Iteration 10 ---
1064bool(false)
1065bool(false)
1066bool(false)
1067bool(true)
1068bool(false)
1069bool(true)
1070-- Innerloop Iteration 1 of Outerloop Iteration 10 --
1071array(4) {
1072  [1]=>
1073  int(2)
1074  ["One"]=>
1075  string(1) "1"
1076  [2]=>
1077  string(3) "two"
1078  [""]=>
1079  string(0) ""
1080}
1081
1082Notice: Undefined variable: key_val in %s on line %d
1083bool(true)
1084
1085Notice: Undefined variable: key_val in %s on line %d
1086bool(true)
1087
1088Notice: Undefined variable: key_val in %s on line %d
1089bool(true)
1090array(4) {
1091  [1]=>
1092  int(2)
1093  ["One"]=>
1094  string(1) "1"
1095  [2]=>
1096  string(3) "two"
1097  [""]=>
1098  string(0) ""
1099}
1100-- Innerloop Iteration 2 of Outerloop Iteration 10 --
1101array(3) {
1102  ["One"]=>
1103  string(1) "1"
1104  [2]=>
1105  string(3) "two"
1106  [""]=>
1107  string(0) ""
1108}
1109
1110Notice: Undefined variable: key_val in %s on line %d
1111bool(true)
1112
1113Notice: Undefined variable: key_val in %s on line %d
1114bool(true)
1115
1116Notice: Undefined variable: key_val in %s on line %d
1117bool(true)
1118array(3) {
1119  ["One"]=>
1120  string(1) "1"
1121  [2]=>
1122  string(3) "two"
1123  [""]=>
1124  string(0) ""
1125}
1126-- Innerloop Iteration 3 of Outerloop Iteration 10 --
1127array(2) {
1128  [2]=>
1129  string(3) "two"
1130  [""]=>
1131  string(0) ""
1132}
1133
1134Notice: Undefined variable: key_val in %s on line %d
1135bool(true)
1136
1137Notice: Undefined variable: key_val in %s on line %d
1138bool(true)
1139
1140Notice: Undefined variable: key_val in %s on line %d
1141bool(true)
1142array(2) {
1143  [2]=>
1144  string(3) "two"
1145  [""]=>
1146  string(0) ""
1147}
1148-- Innerloop Iteration 4 of Outerloop Iteration 10 --
1149array(1) {
1150  [""]=>
1151  string(0) ""
1152}
1153
1154Notice: Undefined variable: key_val in %s on line %d
1155bool(true)
1156
1157Notice: Undefined variable: key_val in %s on line %d
1158bool(true)
1159
1160Notice: Undefined variable: key_val in %s on line %d
1161bool(true)
1162array(1) {
1163  [""]=>
1164  string(0) ""
1165}
1166-- Innerloop Iteration 5 of Outerloop Iteration 10 --
1167array(0) {
1168}
1169
1170Notice: Undefined variable: key_val in %s on line %d
1171bool(false)
1172
1173Notice: Undefined variable: key_val in %s on line %d
1174bool(false)
1175
1176Notice: Undefined variable: key_val in %s on line %d
1177bool(true)
1178array(0) {
1179}
1180
1181Notice: Undefined variable: array_var in %s on line %d
1182NULL
1183bool(false)
1184bool(false)
1185bool(true)
1186
1187*** Testing unset(), emtpy() & isset() with resource variables ***
1188-- Iteration 1 --
1189resource(%d) of type (stream)
1190bool(true)
1191bool(false)
1192bool(true)
1193resource(%d) of type (stream)
1194bool(false)
1195bool(true)
1196bool(false)
1197bool(false)
1198
1199Notice: Undefined variable: resource in %s on line %d
1200NULL
1201-- Iteration 2 --
1202resource(%d) of type (stream)
1203bool(true)
1204bool(false)
1205bool(true)
1206resource(%d) of type (stream)
1207bool(false)
1208bool(true)
1209bool(false)
1210bool(false)
1211
1212Notice: Undefined variable: resource in %s on line %d
1213NULL
1214
1215Notice: Undefined variable: resources in %s on line %d
1216NULL
1217bool(false)
1218bool(true)
1219
1220*** Testing unset(), empty() & isset() with objects ***
1221object(Point)#%d (3) {
1222  ["x"]=>
1223  int(30)
1224  ["y"]=>
1225  int(40)
1226  ["lable"]=>
1227  NULL
1228}
1229bool(true)
1230bool(false)
1231
1232Notice: Undefined variable: lable in %s on line %d
1233bool(false)
1234
1235Notice: Undefined variable: lable in %s on line %d
1236bool(true)
1237
1238Notice: Undefined variable: lable in %s on line %d
1239bool(false)
1240
1241Notice: Undefined variable: lable in %s on line %d
1242bool(true)
1243object(Point)#%d (3) {
1244  ["x"]=>
1245  int(30)
1246  ["y"]=>
1247  int(40)
1248  ["lable"]=>
1249  string(6) "Point1"
1250}
1251object(Point)#%d (2) {
1252  ["y"]=>
1253  int(40)
1254  ["lable"]=>
1255  string(6) "Point1"
1256}
1257bool(false)
1258bool(true)
1259object(Point)#%d (0) {
1260}
1261bool(true)
1262bool(false)
1263bool(false)
1264bool(true)
1265
1266Notice: Undefined variable: point1 in %s on line %d
1267NULL
1268bool(false)
1269bool(true)
1270bool(false)
1271bool(true)
1272array(3) {
1273  [0]=>
1274  string(11) "__construct"
1275  [1]=>
1276  string(8) "setLable"
1277  [2]=>
1278  string(9) "testPoint"
1279}
1280object(Point)#%d (3) {
1281  ["x"]=>
1282  int(5)
1283  ["y"]=>
1284  int(6)
1285  ["lable"]=>
1286  NULL
1287}
1288
1289*** Testing possible variation in operation for isset(), empty() & unset() ***
1290
1291** Testing unset() variation 1: unset on static variable inside a function **
1292value of static_var before unset: 1
1293bool(true)
1294bool(false)
1295
1296Notice: Undefined variable: static_var in %s on line %d
1297value of static_var after unset:
1298bool(false)
1299bool(true)
1300value of static_var after new assignment: 20
1301value of static_var before unset: 2
1302bool(true)
1303bool(false)
1304
1305Notice: Undefined variable: static_var in %s on line %d
1306value of static_var after unset:
1307bool(false)
1308bool(true)
1309value of static_var after new assignment: 20
1310value of static_var before unset: 3
1311bool(true)
1312bool(false)
1313
1314Notice: Undefined variable: static_var in %s on line %d
1315value of static_var after unset:
1316bool(false)
1317bool(true)
1318value of static_var after new assignment: 20
1319
1320** Testing unset() variation 2: unset on a variable passed by ref. inside of a function **
1321string(5) "value"
1322bool(false)
1323bool(true)
1324string(5) "value"
1325
1326** Testing unset() variation 3: unset on a global variable inside of a function **
1327int(10)
1328bool(true)
1329bool(false)
1330bool(false)
1331bool(true)
1332int(10)
1333===DONE===
1334