On Tue, 2003-06-17 at 07:47, Chris Hayes wrote: > At 16:37 17-6-03, you wrote: > >On Tue, 2003-06-17 at 09:09, nabil wrote: > > > A side question along with this ,,, how can I include > > $_POST['foo'] in the > > > : > > > $sql ="select * from db where apple = '$_POST['foo']' "; > > > > > > without getting an error ?? > > > should I append it as $var= $_POST['foo']; before??? > > > > > > >The rule of thumb I follow with these and other Associative Arrays is: > > > >when setting the variable its $_POST['foo'] > >when accessing the variable its $_POST[foo] > > May i rephrase that to: > > "Use quotes whenever possible, with one exception: within double quotes." > > Reason: your rule of thumb fails with: > $val=$_POST['val']; > > Plus: when using CONSTANTs as keys, do not try to access them within quoted > strings.
You've gotten the closest so far. :) o Use quotes when the key is a string literal, and one of the following is true: A) the array reference is not inside a string or heredoc; or B) the array reference _is_ within a string or heredoc, but is written using complex syntax (see below). o If the key is an integer, you do not need quotes, but you may use them if you wish. o If the key is a constant, do not use quotes. o If the key is a variable, single-quotes will prevent PHP from interpreting the variable, and the result will not be what you want. Use no quotes around variable keys (or double-quotes, but that's pointless). o If the key is some other kind of expression (function call, math operation, etc) do not use quotes. o Inside a double-quoted string or heredoc, you can opt to leave out the quotes if you're using a string literal key. o In general within strings and heredocs, you may want to adopt the practice of always using the complex syntax to express array references: $str = "This is a string {$array['user_name']}"; (Complex syntax isn't complex; just wrap the array reference between a { and a }). Note that in this case, you again need the quotes. Always using the complex syntax for array (and object) referencing within strings will help prevent odd errors with the arrays not being interpreted correctly, and indeed, if you want to go any further than one level deep into an array or object within a string, you must use the complex syntax. I've spent some time this morning cleaning up the Array type page, so hopefully some of this will be a bit clearer (at least, after the docs get generated). There is also definitive information on the string variable interpolation topic here: http://www.php.net/manual/en/language.types.string.php Hope this helps, Torben -- Torben Wilson <[EMAIL PROTECTED]> +1.604.709.0506 http://www.thebuttlesschaps.com http://www.inflatableeye.com http://www.hybrid17.com http://www.themainonmain.com -----==== Boycott Starbucks! http://www.haidabuckscafe.com ====----- -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php