note 53282 modified in language.oop5 by danbrown

From: Date: Mon, 15 Feb 2010 18:12:00 +0000
Subject: note 53282 modified in language.oop5 by danbrown
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-165978@lists.php.net to get a copy of this message
We can't create easily anonymous objects like in JavaScript. JS example : var o = { aProperty : "value", anotherProperty : [ "element 1", "element 2" ] } ; alert(o.anotherProperty[1]) ; // "element 2" So I have created a class Object : <?php class Object { function __construct( ) { $n = func_num_args( ) ; for ( $i = 0 ; $i < $n ; $i += 2 ) { $this->{func_get_arg($i)} = func_get_arg($i + 1) ; } } } $o = new Object( 'aProperty', 'value', 'anotherProperty', array('element 1', 'element 2')) ; echo $o->anotherProperty[1] ; // "element 2" ?> You must feel free to make it better :) --was-- We can't create easily anonymous objects like in JavaScript. JS example : var o = { aProperty : "value", anotherProperty : [ "element 1", "element 2" ] } ; alert(o.anotherProperty[1]) ; // "element 2" So I have created a class Object : class Object { function __construct( ) { $n = func_num_args( ) ; for ( $i = 0 ; $i < $n ; $i += 2 ) { $this->{func_get_arg($i)} = func_get_arg($i + 1) ; } } } $o = new Object( 'aProperty', 'value', 'anotherProperty', array('element 1', 'element 2')) ; echo $o->anotherProperty[1] ; // "element 2" You must feel free to make it better :) http://php.net/manual/en/language.oop5.php

« previous php.notes (#165978) next »