ID: 20525 Updated by: [EMAIL PROTECTED] Reported By: [EMAIL PROTECTED] -Status: Feedback +Status: No Feedback Bug Type: Variables related Operating System: Windows 2000 PHP Version: 4.2.3 New Comment:
No feedback was provided. The bug is being suspended because we assume that you are no longer experiencing the problem. If this is not the case and you are able to provide the information that was requested earlier, please do so and change the status of the bug back to "Open". Thank you. Previous Comments: ------------------------------------------------------------------------ [2002-11-23 09:07:18] [EMAIL PROTECTED] when the output is so self explainatory, I'd like to see how it is produced, hence I have to go through your code. I won't do this, since I am sure you can shorten that to 10-15 LOC. Also, I asked you twice to read the docs on references[1] and you did not reply to that by no means. The '&' operator works different in PHP than in C. Make, at first, sure, the 'bug' is due to this confusion, thank you. [1] http://www.php.net/manual/en/language.references.php Jan P.S. I don't want to sound rude as well :) ------------------------------------------------------------------------ [2002-11-22 10:55:59] [EMAIL PROTECTED] Also, please look at output from bottom up. This will make it easier to understand what is happening. If you want less output, just comment out the "print_test" functions. I am included the last set of lines from the output and have noted the differences between runs with ******** You will notice that in the proper code, the B_FIRST, B_SECOND and B_THIRD objects are stored properly. In the code using the & reference symbol, only the B_THIRD object is stored. It is stored three seperate times. The proper result should be : Test: c_list Object ( [c_list] => Array ( [0] => b Object ( [name] => A_First [list_array] => Array ( [0] => a Object ( ******** [name] => B_First [order] => 1 ) [1] => a Object ( ******** [name] => B_Second [order] => 2 ) [2] => a Object ( ******** [name] => B_Third [order] => 3 ) )))) Output from BAD calls using the & reference symbol will look like this: c_list Object ( [c_list] => Array ( [0] => b Object ( [name] => A_Second [list_array] => Array ( [0] => a Object ( ******** [name] => B_Third [order] => 3 ) [1] => a Object ( ******** [name] => B_Third [order] => 3 ) [2] => a Object ( ******** [name] => B_Third [order] => 3 ) )))) Hope this discussion is alieviates some of your time crunch. Thanks for those of us who depend on PHP for our businesses. ------------------------------------------------------------------------ [2002-11-22 10:31:43] [EMAIL PROTECTED] I don't want to sound rude, but just run the script as is and you will see the problem. This is about as short as I want to get the script so that you see the problem in depth. It will take you no amount of time to cut and paste the section into a new doc and run it. The difference in output will be self explanatory. So if you would,.....just run the script provided. ------------------------------------------------------------------------ [2002-11-21 09:59:11] [EMAIL PROTECTED] Hey, I should have emphesized on 'short', currently I just don't have the passion to go through that code in depth without you showing that you have read the docs. And please come up with a short, self-contained, easy to read and unterstand script, thanks a lot for your interest in PHP! -- Jan ------------------------------------------------------------------------ [2002-11-21 09:46:28] [EMAIL PROTECTED] Script was already included. Just cut and paste the PHP code into a text editor and save. Then run. The script will cycle through and array, building objects out of the array. It dumps the values of the objects at certain steps. You will see the difference if you follow the instructions below. Run Script once and look at output. You will notice that the dump of the B class will contain repeat elements (actually, it seems to contain only the last element of the array that was visited). Edit Script, deleting the & symbol where I have placed a comment (***NOTE). Run Script and look at output. You will see the output is as you would expect. Thanks. If you need more info, you can go to my website www.goldparrot.com and get my contact information to call me. Thanks again. ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/20525 -- Edit this bug report at http://bugs.php.net/?id=20525&edit=1