Re: Splitting Vars from MySQL in PHP
| From: | Rasmus Lerdorf | Date: | Sun, 01 May 2005 03:16:38 +0000 |
| Subject: | Re: Splitting Vars from MySQL in PHP | ||
| References: | 1 2 3 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-214279@lists.php.net to get a copy of this message | ||
Richard Lynch wrote:
On Fri, April 29, 2005 4:36 pm, Philip Olson said:Richard, this is what the docs are talking about: list($a,$b,$c,$d) = array('a','b','c','d'); echo $a,$b,$c,$d; vs. list($a,$b,$c,$d) = array('a'=>'a','b'=>'b','c'=>'c','d'=>'d'); echo $a,$b,$c,$d; In your case you are calling each() which itself returns a numerically indexed array. -RasmusI dunno what the documentation is trying to say when it says "list only works with numerical indices" but it's patently false: php -a <?php $foo = array('a'=>'apple', 'b'=>'banana', 'c'=>'coconut'); while (list($k, $v) = each($foo)){But remember that list() only works with numerical arrays so use MYSQL_NUM (or array_values()) in the above. For associative, extract() can be useful.I remember in Perl I used to extract vars from a single fetchrow byaddingeach var name to the beginning (like this). Only this ain'ta workin:)...Anyone know the right syntax to do this? ($var1, $var2, $var3)= mysql_fetch_array($result, MYSQL_ASSOC)list($var1, $var2, $var3) = mysql_fetch_array($result, MYSQL_ASSOC); http://us4.php.net/manual/en/function.list.phpecho "$k: $v\n";} ?> Content-type: text/html X-Powered-By: PHP/4.3.11 a: apple b: banana c: coconut It has worked just fine with alpha indices since PHP 3.0rc2, at a minimum, cuz I've been doing it that long. I dunno who was smoking what that day they typed the documentation :-) I'm pretty sure it's not an "undocumented feature" that it works.