yassen Posted August 14, 2006 Share Posted August 14, 2006 Hello guys, first post here.I am really desparate about how references (do not) work in PHP.Here's a code snippet:[code] var $data; var $_children; var $_uniqueNames; function &add(&$child) { $name = $child->data->name; if (array_key_exists($name, $this->_uniqueNames)) { return $this->_uniqueNames[$name]; } $this->_children[] =& $child; $this->_uniqueNames[$name] =& $child; // we register the name $true = TRUE; return $true; }[/code]This is part of a simple Node class prepared to build trees. A Node remembers the names of its children and refuses to add a new child with a name already registered. Everything seems to work except the return value in case there is an attempt to add a child with an already registered name -- my client code always gets NULL whatever I do!I would appreciate any idea of why is that and how can I fix it, thanks in advance!Yassen Link to comment https://forums.phpfreaks.com/topic/17514-solved-desparation-references-do-not-work-as-expected/ Share on other sites More sharing options...
yassen Posted August 14, 2006 Author Share Posted August 14, 2006 My worst fears are justified:Not only newbies fail to understand how references work in PHP, nobody really knows :-\ Link to comment https://forums.phpfreaks.com/topic/17514-solved-desparation-references-do-not-work-as-expected/#findComment-74567 Share on other sites More sharing options...
Chetan Posted August 14, 2006 Share Posted August 14, 2006 You would have 2 use the function twice~~and if you are trying to print the value please dont forget like noobs that you need to use echo if you use return, it just does not echo it. Link to comment https://forums.phpfreaks.com/topic/17514-solved-desparation-references-do-not-work-as-expected/#findComment-74587 Share on other sites More sharing options...
yassen Posted August 14, 2006 Author Share Posted August 14, 2006 Thanks, RockingGroudon!I finally got it -- it was my mistake, erroneous code in a wrapper function that substituted the return value for something else. Thanks again! Link to comment https://forums.phpfreaks.com/topic/17514-solved-desparation-references-do-not-work-as-expected/#findComment-74709 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.