【发布时间】:2015-04-02 10:24:06
【问题描述】:
希望您能帮助找出我在以下代码中的错误之处:
public function yee() {
$json = array();
$params = array(
'token' => $this->_token,
'receiver_name' => 'Test Name',
'sender_city' => 'copenhagen',
'sender_country' => 'DK',
'order_id' => 150
);
$ch = curl_init();
$query = http_build_query($params);
curl_setopt($ch, CURLOPT_URL, self::API_ENDPOINT . '/' . 'shipments/imported_shipment');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $query);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$output = curl_exec ($ch);
$http_code = curl_getinfo( $ch, CURLINFO_HTTP_CODE);
curl_close ($ch);
$output = json_decode($output, true);
if ($http_code != 200){
if(is_array($output['message'])){
$json['error'] = $output['message'];
}else{
$json['error'] = $output['message'];
}
} else {
$json['error'] = "Import Successully";
}
return $output;
}
}
我的 class.php 文件中有这个,还有几行进行身份验证。
然后我尝试在初始化后调用该函数:
$testObject->yee();
echo $testObject->yee(); ?>
身份验证部分工作正常,因为我还输出令牌和其他一些变量,但是当我回显 yee() 函数时 - 它显示的只是“数组”
如果您没有注意到,我在 JSON/API 领域非常熟悉,我的 PHP 技能充其量只是生疏。所以我希望任何和所有的指针都能让我更接近解决这个问题。谢谢!
【问题讨论】:
-
那是因为返回值是一个数组!你不能回显一个数组。如果你只是想查看它的内容进行调试,那么用户
var_dump($output); -
非常感谢,现在我这么想是有道理的。似乎与输出的 var_dump 一起工作正常,并且假设我正在调试是正确的。再次,非常感谢!