If you are writing a mini API for your library, and if you are doing merging of options, remember to use the union operator (+) !
So something like this will definitely fail. This is because array_merge effectively resets all the keys in the array into running numbers:
<?php
function post($url, $options = array) {
$ch = curl_init();
curl_setopt_array($ch, array_merge(array(
CURLOPT_HEADER => 1,
CURLOPT_RETURNTRANSFER => 1,
.....
)));
?>
Rather, this is the correct way of doing it:
<?php
function post($url, $options = array) {
$ch = curl_init();
curl_setopt_array($ch, array(
CURLOPT_HEADER => 1,
CURLOPT_RETURNTRANSFER => 1,
.....
) + (array) $options);
?>