Re: array()

From: Date: Tue, 02 Aug 2005 06:59:49 +0000
Subject: Re: array()
References: 1 2  Groups: php.general 
Request: Send a blank email to php-general+get-219812@lists.php.net to get a copy of this message
Edward Vermillion wrote:
Sebastian wrote:
is it always necessary to call array() when you do something like this: mysql_query("SELECT ...."); while($rows .....) { $data[] = $rows; } if so, why? i have a habit of never calling array() and someone told me i shouldn't do this.
If that's your first use of $data then it's not necessary, but it's very highly recommended to do something like:
DITTO! :-)
$data = array();
the someone who told you don't is wrong - by setting $data to an array() explicitly just before you use it you we be sure $data contains exactly what yuou think it should when your while loop (in this case) completes... imagine you came back to a script containing this code and you added a similiar query loop above also using the var $data! don't worry about the difference in performance (whether you initialize the var to an array() or not) - you can't even measure it in any valid way.
mysql_query("SELECT ...."); while($rows .....) { $data[] = $rows; }
you might even consider that it is not always worth looping just to create a $data array - often you can process/output/whatever each $row as you encounter it... imagine what happens if your query returns a million records, your script could process each $row 1 by 1 (granted it would take quite a while!) but trying to fill a $data array would almost definitely cause your script to die due to memory exhaustion. (either a php limit or a system limit)
That way you _know_ that $data is "clean" before you start doing anything with it. It's always a good idea to set any variables you're using to some value, either "", array(), 0, or some default value, before you use them to help keep the "bad guys" out of your scripts.


« previous php.general (#219812) next »