使用 CURL 发布包含多维数组的表单数据时,遇到“数组到字符串转换”错误是一个常见问题。当尝试使用包含数组的数组设置 CURLOPT_POSTFIELDS 时,会发生这种情况。
由于 Content-Type 标头必须是 multipart/form-data 以方便文件传输,因此将数组转换为查询字符串或使用 http_build_query()不可行。此外,访问接收主机的代码来序列化和反序列化数组也是不可行的。
要解决此问题,可以使用名为 http_build_query_for_curl 的自定义函数。它递归地迭代数组,将其转换为适合 CURL POST 请求的格式。然后可以将修改后的数组分配给 $post 并传递给curl_setopt(),从而避免错误。
以下是 http_build_query_for_curl 函数的代码及其用法示例:
以上是如何解决用PHP在CURL中发送多维数组时出现'数组到字符串转换”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!