Php 如何调用此curl API请求以获得最高的';可能性';json字段名?
我正试图使用这个网站上的API将一些可能的名称规范化为“似然值”,以便提取名称 尝试了以下代码,但无法运行Php 如何调用此curl API请求以获得最高的';可能性';json字段名?,php,json,rest,curl,Php,Json,Rest,Curl,我正试图使用这个网站上的API将一些可能的名称规范化为“似然值”,以便提取名称 尝试了以下代码,但无法运行未定义的偏移量:2错误:$index_name=$mablue_names[$n]。此外,我还被提取名字的逻辑所困扰。有人能帮忙吗?谢谢 $possible_names = array("Jimmy Frank", "Wall Street"); // In this case Jimmy Frank should be the output person name if (count($
未定义的偏移量:2错误:$index_name=$mablue_names[$n]代码>。此外,我还被提取名字的逻辑所困扰。有人能帮忙吗?谢谢
$possible_names = array("Jimmy Frank", "Wall Street"); // In this case Jimmy Frank should be the output person name
if (count($possible_names) > 1)
{
for ($n = 0; $n <= count($possible_names); $n++)
{
$index_name = $possible_names[$n];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://api.fullcontact.com/v2/name/normalizer.json?q=$index_name");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");
$headers = array();
$headers[] = "X-Fullcontact-Apikey: APIKEY";
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$namenormalizer_result = curl_exec($ch);
if (curl_errno($ch)) {
echo 'Error:' . curl_error($ch);
}
else
{
$namejson_result = json_decode($namenormalizer_result, true);
$namejson_array[] = $namejson_result['likelihood'];
}
curl_close ($ch);
}
}
可能的名称=数组(“吉米·弗兰克”、“华尔街”);//在本例中,Jimmy Frank应该是输出人员名称
如果(计数($可能的名称)>1)
{
对于($n=0;$n$mablue\u names
是一个大小为2的数组。数组从0索引,因此您需要删除不存在的最后一个索引2
:
for ($n = 0; $n <= count($possible_names) - 1; $n++) {
}
感谢您的回复哦,我的2号错误很糟糕,但是我写的curl错误了吗?因为当我尝试var_dump(namejson_结果)时,它返回NULL而不是一个值?是不是$namejson_结果
不是空的?另外,用$status=curl\u getinfo($ch,CURLINFO\u HTTP\u code)检查状态代码
如果您得到400或其他任何东西,我的$namejson_结果在我var_dump时为空且为NULL?我添加了$namejson_结果=json_解码($result);$status=curl_getinfo($ch,CURLINFO_HTTP_code);echo$status;返回int(400);它应该返回200有什么问题?请求格式不正确,问题是URL编码为$ndex\u name
。使用:curl\u setopt($ch,CURLOPT\u URL,”https://api.fullcontact.com/v2/name/normalizer.json?q=“.urlencode($index_name));
for ($n = 0; $n < count($possible_names); $n++) {
}
$namejson_result = json_decode($result);
echo "likelihood for $index_name on " .
$namejson_result->nameDetails->fullName . " : " .
$namejson_result->likelihood . "\n";