请用Curl更新PHP

请用Curl更新PHP,php,curl,Php,Curl,我试图用一个updatecurl函数来更新我的API,但我很难弄清楚为什么它不起作用 可能出错的地方是键($id)我希望它出错 根据ID数组的键值提取ID列 $URL我想基于常量变量加上资源名称加上通过rawurlencode传递的ID数组的值来创建URL 到目前为止,这是我的更新代码,但我想知道什么地方是错误的。 我可以提供更多的信息,如果需要和感谢任何帮助,谢谢 <?php function update(array $id,array $vaules, $resourcename)

我试图用一个updatecurl函数来更新我的API,但我很难弄清楚为什么它不起作用

可能出错的地方是
键($id)
我希望它出错 根据ID数组的键值提取ID列

$URL
我想基于常量变量加上资源名称加上通过
rawurlencode
传递的ID数组的值来创建URL

到目前为止,这是我的更新代码,但我想知道什么地方是错误的。 我可以提供更多的信息,如果需要和感谢任何帮助,谢谢

<?php 
function update(array $id,array $vaules, $resourcename)
    $jsonData = json_encode($vaules);
    key($id);
    $url = DOMAIN.FOLDER.APIPATH.$resourcename.rawurlencode("/".$id);   
    $ch = curl_init($url);    
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER,array ('content-type: application/json'));
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST,PUT);
    curl_setopt($ch,CURLOPT_POSTFIELDS,$jsonData);
    curl_exec($ch);
    curl_getinfo(CURLINFO_HTTP_CODE);
}
函数
key()
返回数组中的当前键(根据internet指针)。现在你没有对它做任何事情,你只是调用函数,而不是在任何地方分配它

你的意思是写:
rawurlencode(“/”.key($id)。$vaules)


由于您的代码是现在的,假设
$id
是一个数组,您正在尝试将数组转换为字符串,我怀疑这是您想要的。

感谢您使用key的回复,我希望它根据key值提取id冒号,好的,也许我需要在url中分配它。也不是,我想这是我在没有vaules的情况下更新的问题的一部分。您需要修复
rawurlencode()
$id
是一个数组,而不是字符串。你能展示一下
var\u dump()
$id
是什么吗?Hi$id主键,例如:id=Barth%2C+John&idColumn=Author\u Name我不确定var\u dump是如何工作的我不确定你的意思。函数定义显示它是一个数组,
update(array$id…
),它不是一个字符串。您好,抱歉,yep id是一个数组您在getinfo中得到了什么?