请求响应被存储为bool

问题描述 投票:0回答:1

我正在尝试使用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中返回的是什么,结果是一个bool。对不起,如果这是一个明显的错误,但是为什么JSON数据不是以字符串的形式返回到响应变量中?此外,什么是打印出正确的JSON到终端?

php curl shopify php-curl
1个回答
1
投票

你缺少的是

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

CURLOPT_RETRNTRANSFER(返回)

TRUE 的返回值的字符串来返回传输。curl_exec() 而不是直接输出。

然后为了检查事情是否正常,要么

echo $response;

var_export( $responseJSON );
© www.soinside.com 2019 - 2024. All rights reserved.