现在要写一个API,但是用curl传参数时多维数组的传递有问题

{ $post_data = array( 'auth-userid' => 611510, 'api-key' => 'api', 'domain-name'=>array('domain1','domain2'), 'tlds' => 'com', ); $result=http_build_query($post_data); var_dump($result); }

开始用的时候一直出现 domain 参数的丢失报错,然后就看下传递的数据,是这样的

string 'auth-userid=611510&api-key=api&

domain-name%5B0%5D=domain1&domain-name%5B1%5D=domain2&tlds=com' (length=93);

而我要传的应该是

'auth-userid=611510&api-key=api&

domain-name=domain1&domain-name=domain2&tlds=com'

这样传才不会报错,为什么用了http_build_query(),二维数组就会出现这个%5B0%5D,和%5B1%5D,这怎么解决

回复讨论(解决方案)

其实这个问题很简单。

http_build_query ? 生成 URL-encode 之后的请求字符串

产生的是一个url encode 的字符串。里面都是已经给encode 。

你可以使用$post_data = array( 'auth-userid' => 611510, 'api-key' => 'api', 'domain-name'=>array('domain1','domain2'), 'tlds' => 'com', ); $result=http_build_query($post_data); var_dump($result); var_dump(urldecode($result));

这样来解决,数据都是domain-name[0]=domain1&domain-name[1]= 这样来传递。

欢迎你加入到技术群,来学习更多的技术 231566327

%5B0%5D 是 [] 一对方括号

这是按 php 的规则生成的

如果对方不是 php 则要按 domain-name[] 这个名字访问 domain-name 成员

或者你就把它删掉

$result = str_replace('%5B0%5D', '', http_build_query($post_data));

若对方是 php 的话,就一定不能删了。否则就会少数据了

那还是地址给url encode

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

php curl 多维数组,PHP 使用CURL 传递多维数组问题相关推荐

  1. 二维数组作为形参,传递二维数组的值

    二维数组作为形参,传递二维数组的值 void trfind(int (*Array)[3]); void trfind(int (*Array)[3]) {int a[][3] = {1, 2, 3, ...

  2. ajax获取php的数组,使用AJAX请求获取数组并将其传递到php数组中 - javascript

    我正在为下一个问题苦苦挣扎:我有一个ajax请求,该请求将变量传递给PHP文件. PHP处理该变量并返回一个数组.我需要取回该数组,所以我使用了AJAX成功回调函数,但是我只能打印出数组,仅此而已.我 ...

  3. php curl post数组_PHP发起curl POST请求时传递数组

    使用 PHP 的 curl 可以发起 HTTP 外部请求,但是发起 POST 请求时,是无法直接传递数组的,从 curl 层面来说,也没有所谓的数组的概念,而更加通用也更合理的传递数据的格式其实是键值 ...

  4. php curl密码控件,检索通过curl传递的用户名,密码参数 - php

    我正在尝试使用curl将用户名和密码参数发送到url,我想检索它们.我将参数发送到页面,如下所示: $curl = curl_init('http://localhost/sample.php'); ...

  5. php curl 批量,关于用php的curl批量抓取内容

    先上个单个采集的curl访问案例<?php $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, 'www.baidu.com'); curl ...

  6. Numpy 一维、二维数组、size/dtype/shape属性、数组函数arange/linspace/logspace /diag/zeros/ones/random 、多维数组索引和筛选)

    参考: https://gitbook.cn/gitchat/column/undefined/topic/5e3bceadec8d9033cf924665 打开 IPython ,创建 Python ...

  7. VB.NET 数组的定义 动态使用 多维数组

    我们都知道在全部程序设计语言中数组都是一个非常重要的概念,数组的作用是同意程序猿用同一个名称来引用多个变量,因此採用数组索引来区分这些变量.非常多情况下利用数组索引来设置一个循环,这样就能够高效地处理 ...

  8. Python使用numpy函数vsplit垂直(行角度)拆分numpy数组(返回拆分后的numpy数组列表)实战:垂直拆分二维numpy数组、split函数垂直拆分二维numpy数组

    Python使用numpy函数vsplit垂直(行角度)拆分numpy数组(返回拆分后的numpy数组列表)实战:垂直拆分二维numpy数组.split函数垂直拆分二维numpy数组 目录

  9. Python使用numpy函数hsplit水平(按列)拆分numpy数组(返回拆分后的numpy数组列表)实战:水平(按列)拆分二维numpy数组、split函数水平(按列)拆分二维numpy数组

    Python使用numpy函数hsplit水平(按列)拆分numpy数组(返回拆分后的numpy数组列表)实战:水平(按列)拆分二维numpy数组.split函数水平(按列)拆分二维numpy数组 目 ...

  10. php某列为键数组为值,PHP 将二维数组中某列值作为数组的键名 -- 超实用

    有时候,想通过数组的中某字段值, 然后再在二维数组中获取存在该字段值的数组: 一般能想到的就是foreach 遍历比较一下跟该字段值一样,就获取到想要的数组,如下: //测试二维数组 $arr =ar ...

最新文章

  1. virtualbox安装centos7使用nat+hostonly的网络模式
  2. vb.net中的-String类
  3. iOS游戏开发教程资源
  4. latex 不等于_生活中养成这8个习惯,就算不运动,照样瘦!
  5. EYQiPa,梦开始的地方
  6. linux内核那些事之struct page
  7. SQL Server数据库快照
  8. linux centos目录结构(二)
  9. 51单片机——独立按键
  10. 如何将wav转为mp3格式,wav中间mp3步骤
  11. 【论文阅读】提升的自动作文评分通过Prompt预测和匹配
  12. 小熊、九阳、苏泊尔,小家电玩家们乱了阵脚?
  13. 【Linux】Linux的管道
  14. 7、MyBatis分页
  15. 非旋treap套线段树
  16. 1、镜像、容器相关命令、Dockerfile
  17. g1gc调优的一次实战记录
  18. QChart绘制占比图,但是以时间轴为X轴
  19. 给大家推荐ScratchJr 少儿编程课程,感觉讲的还可以,内容比较清晰,而且前面还有幼儿音乐也比较好听
  20. 《STM32从零开始学习历程》——I2C向EEPROM写入一字节数据(I2C硬件)

热门文章

  1. gpu tensorflow 怎么看是否安装成功_搭建和配置TensorFlow环境
  2. 传统机器学习算法优缺点总结
  3. Netbeans连接数据库
  4. 节假日如何巧用社交媒体来营销——网店装修设计,网站建设
  5. 大学期间月收入将近破万,我是如何做到的
  6. 1-电子科技大学——通信工程本科专业课
  7. hph和java哪个更实用?
  8. 【3D目标分类】PCT:Point Cloud Transformer
  9. ActiveReports V11 版本正式发布
  10. #读书笔记# 《人类简史》Chapter3