Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
curl响应保存在变量PHP中后无法处理_Php_Html_Curl - Fatal编程技术网

curl响应保存在变量PHP中后无法处理

curl响应保存在变量PHP中后无法处理,php,html,curl,Php,Html,Curl,在echo$地址行中将打印在页面的内容中,但如果我取消注释下面的代码(以:$token=strtok开头的代码),则$address将看起来是空的。我添加了更多使用$address的结果的代码(但我没有在这里包括),有时会显示在curl初始化中调用的站点的源代码。所以我想卷发可能需要更长的时间,但我试着在srtok之前先睡一觉,但没有成功 在循环中,当循环时,必须替换$token=strtok(“,”)带有$token=strtok($address,“,”)由于您想从谷歌获取地图信息,我认为您

echo$地址行中
将打印在页面的内容中,但如果我取消注释下面的代码(以:
$token=strtok
开头的代码),则$address将看起来是空的。我添加了更多使用$address的结果的代码(但我没有在这里包括),有时会显示在curl初始化中调用的站点的源代码。所以我想卷发可能需要更长的时间,但我试着在srtok之前先睡一觉,但没有成功

循环中,当
循环时,必须替换
$token=strtok(“,”)带有
$token=strtok($address,“,”)

由于您想从谷歌获取地图信息,我认为您使用了错误的方法,我使用的是
javascript
,因为这可能更难解析

为什么不直接使用
PHP

$ch = curl_init("http://acrs.bboxpr.com/getAddress.php?lat=35.545112&lng=-90.657635");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$address = curl_exec($ch);       
curl_close($ch);

//prints the address
echo $address;

//$token = strtok($address, ",");
//$phaddress=array();
//while ($token != null)
//{
//array_push($phaddress,$token);
//$token = strtok(",");
//}
//print_r($phaddress); //blank

将while循环更改为:
while($token!==false)

您能显示这行“$token=strtok($address,”,”)上的$address的值是多少吗?“$token=strtok($address,”);”已经为空了吗?您可以在此行后回显$address。。。这是空的吗?我不知道它是否重要,但是curl init中的页面使用“d.appendChild(document.createTextNode(variablejs));document.body.appendChild(d);”这段代码来更新页面的主体。Tobi,如果我取消对while循环的注释,即使是第一个echo也不会打印任何内容,如果我在下面添加另一个,也不会打印任何内容。我这样做了,出现了一个500错误,我用$address的值尝试了while循环,比如:$address=“1231231123123123132”;斯特克完成了他的工作。但是,由于它与“echo”一起工作,我尝试将变量转换为字符串,但没有成功。url已更新,您可以看到该文件的源代码:我希望将主体包含在变量中。没有字符串(43),如何获得第一个结果?并将其放入变量中?使用
print
而不是
var\u dump
谢谢!,正如您所说,我更改了代码,我认为其他代码的问题是因为curl中使用的URL包含生成主体的java脚本。
$ch = curl_init("http://maps.google.com/maps/api/geocode/json?latlng=35.545112,-90.657635&sensor=false");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$return = curl_exec($ch);
curl_close($ch);
$geoOutput = json_decode($return,true);
echo "<pre>" ;

foreach($geoOutput as $key => $data)
{
    if(is_array($data))
    {
        foreach($data as $cKey => $cData)
        {
            var_dump($cData['formatted_address']);
        }
    }
}
string(43) "6724-6916 Bay Ln, Harrisburg, AR 72432, USA"
string(16) "Bolivar, AR, USA"
string(25) "Harrisburg, AR 72432, USA"
string(17) "Poinsett, AR, USA"
string(13) "Arkansas, USA"