请求响应被存储为 bool

Request response is being stored as bool

我正在尝试使用 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 to return the transfer as a string of the return value of curl_exec() instead of outputting it directly.

然后检查事情是否有效,

echo $response;

var_export( $responseJSON );