请求响应被存储为布尔值



我正在尝试使用Shopify的API通过PHP提取订单信息。这是我第一次使用 PHP 进行请求,并希望获得一些经验,因为我通常是 PHP 的新手。

function order_status($url, $user, $pass){
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept: *.*','Content-Type: application/json'));
curl_setopt($ch, CURLOPT_USERPWD, $user . ":" . $pass);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
$response = curl_exec($ch);
curl_close($ch);
return $response;
}
$response = order_status($url, $user, $pass);
$responseJSON = json_decode($response);
echo "n" , $responseJSON , "n";

这是输出到终端的内容。

{"orders":[{"id":2083102294069,"name":"1031"}]}
1

我使用 gettype 方法来检查 $response 中返回的内容,它是一个布尔值。抱歉,如果这是一个明显的错误,但为什么 JSON 数据没有在响应变量中作为字符串返回?另外,什么是将正确的 JSON 打印到终端?

你失踪了

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

CURLOPT_RETURNTRANSFER

TRUE将传输作为返回值的字符串返回curl_exec(),而不是直接输出它。

然后检查一切是否有效,要么

echo $response;

var_export( $responseJSON );

最新更新