note 120192 added to language.operators.precedence

From: Date: Mon, 21 Nov 2016 12:18:17 +0000
Subject: note 120192 added to language.operators.precedence
Groups: php.notes 
Request: Send a blank email to php-notes+get-207251@lists.php.net to get a copy of this message
The precedence of '->' is less than '[' in this situation: object contains array, name of array is stored in string variable. <?php $farm = new StdClass; $farm->emu = array( 'name' => 'Henry', 'age' => 9 ); $farm->rabbit = array( 'name' => 'George', 'age' => 4 ); $animal = 'rabbit'; print_r( $farm->$animal ); // ok // print( $farm->$animal[ 'name' ] ); // wrong, [ has precedence. print( $farm->{$animal}[ 'name' ] ); // correct, prints George. $farm->wash = 'Suds'; $jobs = array( 'morning' => 'feed', 'evening' => 'wash' ); print( $farm->$jobs[ 'evening' ] ); // correct, prints Suds. print( $farm->{$jobs[ 'evening' ]} ); // correct, prints Suds. ?> ---- Server IP: 72.52.91.14 Probable Submitter: 71.53.195.73 ---- Manual Page -- http://php.net/manual/en/language.operators.precedence.php Edit -- https://master.php.net/note/edit/120192 Del: integrated -- https://master.php.net/note/delete/120192/integrated Del: useless -- https://master.php.net/note/delete/120192/useless Del: bad code -- https://master.php.net/note/delete/120192/bad+code Del: spam -- https://master.php.net/note/delete/120192/spam Del: non-english -- https://master.php.net/note/delete/120192/non-english Del: in docs -- https://master.php.net/note/delete/120192/in+docs Del: other reasons-- https://master.php.net/note/delete/120192 Reject -- https://master.php.net/note/reject/120192 Search -- https://master.php.net/manage/user-notes.php

« previous php.notes (#207251) next »