如果您正在為您的函式庫撰寫小型 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);
?>