'json' 响应的类型在 PHP 中是布尔值
Type of 'json' response is boolean in PHP
我正在使用以下内容:
<?php
$url = '...';
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => $url,
CURLOPT_CUSTOMREQUEST => "GET"
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
$response = json_decode($response, true);
echo gettype($response); /$response/ THIS RETURNS INTEGER FOR SOME REASON!
?>
所以我得到的 $response
是整数类型,我无法读取这个 JSON 的元素。
另请注意,当我回显响应时,会在其后打印 1。
'$result' 未在您的代码中定义,仔细检查一下?
也许是“$response = json_decode($response, true);”需要改变。
未定义变量的默认值为 NULL/False
检查手册以了解可能的 return values。您至少需要使用 CURLOPT_RETURNTRANSFER
.
Returns TRUE on success or FALSE on failure. However, if the
CURLOPT_RETURNTRANSFER option is set, it will return the result on
success, FALSE on failure.
<?php
$url = '...';
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => $url,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_RETURNTRANSFER => true // <<<< add this
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
$response = json_decode($response, true);
if (json_last_error() !== JSON_ERROR_NONE) {
var_dump(json_last_error_msg());
}
我正在使用以下内容:
<?php
$url = '...';
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => $url,
CURLOPT_CUSTOMREQUEST => "GET"
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
$response = json_decode($response, true);
echo gettype($response); /$response/ THIS RETURNS INTEGER FOR SOME REASON!
?>
所以我得到的 $response
是整数类型,我无法读取这个 JSON 的元素。
另请注意,当我回显响应时,会在其后打印 1。
'$result' 未在您的代码中定义,仔细检查一下? 也许是“$response = json_decode($response, true);”需要改变。 未定义变量的默认值为 NULL/False
检查手册以了解可能的 return values。您至少需要使用 CURLOPT_RETURNTRANSFER
.
Returns TRUE on success or FALSE on failure. However, if the CURLOPT_RETURNTRANSFER option is set, it will return the result on success, FALSE on failure.
<?php
$url = '...';
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => $url,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_RETURNTRANSFER => true // <<<< add this
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
$response = json_decode($response, true);
if (json_last_error() !== JSON_ERROR_NONE) {
var_dump(json_last_error_msg());
}