Re: Unexpected values in an associative array
| From: | Ken Tozier | Date: | Tue, 31 Jul 2007 16:23:42 +0000 |
| Subject: | Re: Unexpected values in an associative array | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-259935@lists.php.net to get a copy of this message | ||
On Jul 31, 2007, at 12:06 PM, Instruct ICC wrote:
For the above record, $coersions is an associative array of the form array('task_id'=> 'integer', 'container_id'=> 'integer', 'name'=>'hex_decode'); I found that I was doing a lot of coersions with results of SQL queries to turn them into real integers, floats or decode from base64/hex before I could use them so rolling all that ugly stuff into the query makes it so users of the function don't have to do coersions any more. There may be a better way to perform coersions from string types returned by PDO queries and their real types but I'm a PDO noob so don't know if one.array(6) { ["task_id"]=> int(22) [0]=> string(2) "22" ["container_id"]=> int(3784) [1]=> string(4) "3784" ["name"]=> string(12) "108-6972.XTG" [2]=> string(24) "3130382D363937322E585447" }What is $coersions or $inQuery['coersions']? Maybe a var_dump or a print_r on that for the list?
What is $value and what is this supposed to do:The point of these is to convert the strings to ints, floats, decode them etc...case 'integer': $value += 0; break; case 'float': $value += 0.0;If $value is a string, you should quote your 0 and 0.0. What add 0 or 0.0 to an int or float respectively?
What's the extra "[]" about in $rows[$groupKey][] = $fields; Maybe that's where your duplicates are coming from although I don't see duplicates in your output.Another thing I found the need for was to group rows in a select result by specific keys. For example say a query gets all ads in a publication, and you want to physically group them by page. That's what that group function does. Ken