I ran into an interesting “bug” in Twitter Tools last night that I traced back to
http_build_query(). I expected that the query strings generated by this function used
& as a separator for the
key=value pairs, but on one of our test servers, the separator being used was
&. This is a php.ini config setting, so my expectation was clearly based on false assumptions. If you want to make sure that you get a
& separator, you can pass it in as the 3rd parameter.
You’ll find this is particularly important if you’re making requests for remote data from within WordPress via
wp_remote_get() or similar technique. If you are working on something that is run within WordPress, you can look at using
add_query_arg() as an alternative to this as well.