php 调用 java的url,如何传递数组?

yuepengfei 2017-11-27 08:45:48
各位大佬,小弟现在使用php以post方式调用java提供的url,传递普通变量的时候没有问题,但是现在需要传递数组给java的url,请问该如何解决呢?

调用普通变量的方式如下:
$data = array("var1'"=> "123","var2" => "234");
$data = http_build_query($data);
$opts = array('http' => array('method' => 'POST', 'header' => "Content-type: application/x-www-form-urlencoded\r\n" . "Content-Length: " . strlen($data) . "\r\n", 'content' => $data),);
$context = stream_context_create($opts);
$html = file_get_contents('http://xxxx:8080/aa.dot', false, $context);


直接将$data中的变量变为数组后传递java收到的不是数组类型:$data = array("var1'"=>array("123","234"));


谢谢!
...全文
328 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuzuning 2017-11-27
  • 打赏
  • 举报
回复
你说 java收到的不是数组类型 那么 java 收到的是什么?
hongmei85 2017-11-27
  • 打赏
  • 举报
回复
按照java提供的url要求的格式提供过去,java那边会自己组合成数组
conqweal 2017-11-27
  • 打赏
  • 举报
回复
<?php $uri = "http://www.cnblogs.com/test.php";//这里换成自己的服务器的地址 // 参数数组 $data = array ( 'name' => 'tanteng' // 'password' => 'password' ); $ch = curl_init (); // print_r($ch); curl_setopt ( $ch, CURLOPT_URL, $uri ); curl_setopt ( $ch, CURLOPT_POST, 1 ); curl_setopt ( $ch, CURLOPT_HEADER, 0 ); curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 ); curl_setopt ( $ch, CURLOPT_POSTFIELDS, $data ); $return = curl_exec ( $ch ); curl_close ( $ch ); print_r($return);
yuepengfei 2017-11-27
  • 打赏
  • 举报
回复
@conqweal @hongmei85 @xuzuning 谢谢回答,提交到java的url以后,变成了var1[0],var1[1],var1[2],这种格式了,var1是php提交的数组,里面有3个数据项。

21,893

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧