如果您正在为您的库编写一个小型 API,并且如果您正在合并选项,请记住使用联合运算符 (+)!
因此,类似这样的操作肯定会失败。这是因为 array_merge 实际上会将数组中的所有键重置为运行编号
<?php
function post($url, $options = array) {
$ch = curl_init();
curl_setopt_array($ch, array_merge(array(
CURLOPT_HEADER => 1,
CURLOPT_RETURNTRANSFER => 1,
.....
)));
?>
相反,这是正确的方法
<?php
function post($url, $options = array) {
$ch = curl_init();
curl_setopt_array($ch, array(
CURLOPT_HEADER => 1,
CURLOPT_RETURNTRANSFER => 1,
.....
) + (array) $options);
?>