File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / tests / lang / foreachLoopObjects.001.phpt
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Tue Feb 21 23:48:06 2012 UTC (12 years, 4 months ago) by misho
Branches: php, MAIN
CVS tags: v5_4_3elwix, v5_4_29p0, v5_4_29, v5_4_20p0, v5_4_20, v5_4_17p0, v5_4_17, v5_3_10, HEAD
php

    1: --TEST--
    2: Foreach loop on objects - basic loop with just value and key => value.
    3: --FILE--
    4: <?php
    5: 
    6: class C {
    7: 	public $a = "Original a";
    8: 	public $b = "Original b";
    9: 	public $c = "Original c";
   10: 	protected $d = "Original d";
   11: 	private $e = "Original e";
   12: 	
   13: }
   14: 
   15: echo "\n\nSimple loop.\n";
   16: $obj = new C;
   17: foreach ($obj as $v) {
   18: 	var_dump($v);
   19: }
   20: foreach ($obj as $k => $v) {
   21: 	var_dump($k, $v);
   22: }
   23: echo "\nCheck key and value after the loop.\n";
   24: var_dump($k, $v);
   25: 
   26: 
   27: echo "\n\nObject instantiated inside loop.\n";
   28: foreach (new C as $v) {
   29: 	var_dump($v);
   30: }
   31: foreach (new C as $k => $v) {
   32: 	var_dump($k, $v);
   33: }
   34: echo "\nCheck key and value after the loop.\n";
   35: var_dump($k, $v);
   36: ?>
   37: --EXPECTF--
   38: 
   39: 
   40: Simple loop.
   41: string(10) "Original a"
   42: string(10) "Original b"
   43: string(10) "Original c"
   44: string(1) "a"
   45: string(10) "Original a"
   46: string(1) "b"
   47: string(10) "Original b"
   48: string(1) "c"
   49: string(10) "Original c"
   50: 
   51: Check key and value after the loop.
   52: string(1) "c"
   53: string(10) "Original c"
   54: 
   55: 
   56: Object instantiated inside loop.
   57: string(10) "Original a"
   58: string(10) "Original b"
   59: string(10) "Original c"
   60: string(1) "a"
   61: string(10) "Original a"
   62: string(1) "b"
   63: string(10) "Original b"
   64: string(1) "c"
   65: string(10) "Original c"
   66: 
   67: Check key and value after the loop.
   68: string(1) "c"
   69: string(10) "Original c"

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>