我正在为新的移动应用程序编写针对woocommerce网站的json回复。我是json,php,woocommerce的新手。
通过大量搜索,我得到了这个API。this
当我使用此行
时,我得到这样的回复 $data = $client->products->get('', array('filter[limit]' => '500'));
stdClass Object
(
[products] => Array
(
[0] => stdClass Object
(
[title] => Malai tikka roll
[id] => 2580
[created_at] => 2017-05-22T08:13:56Z
[updated_at] => 2017-05-22T08:14:38Z
[type] => simple
[status] => publish
[downloadable] =>
[virtual] =>
[permalink] => http://localhost/fooddemo/product/malai-tikka-roll/
[sku] =>
[price] => 75.00
[regular_price] => 75.00
[sale_price] =>
现在我要做的是更改一些字段并通过$response
对象将json响应发送到我的Android应用程序。
我试过这样做,但它给了我错误
$response["Title"] = $data["title"];
未定义的索引:C:\ xampp \ htdocs \ demoservice \ productlist.php中的标题 在第15行
示例代码
<?php
require_once( 'lib/woocommerce-api.php' );
$options = array(
'debug' => true,
'return_as_array' => false,
'validate_url' => false,
'timeout' => 30,
'ssl_verify' => false,
);
$response = array("error" => FALSE);
try{
require_once( 'key.php' );
$data = $client->products->get('', array('filter[limit]' => '500'));
//echo json_encode($response);
$response["Title"] = $data["title"];
}catch ( WC_API_Client_Exception $e ) {
require_once( 'catch.php' );
}
答案 0 :(得分:1)
可以替换
吗?$response["Title"] = $data["title"];
使用:
$response["Title"] = $data->products[0]->title;
答案 1 :(得分:1)
产品是主要对象的属性,本身就是一个数组。这就是你之后的事情:
foreach($data->products as $d) {
echo $d->title, '<br />', $d->id, '<br />', $d->status;
}
如果要在没有循环的情况下访问其中一个元素,则需要提供数组索引,例如:
echo $data->products [0]->title