PHP试图在WooCommerceAPI 2.0.1创建订单函数中获取订单ID
我使用WooCommerceAPI创建了一个订单,效果非常好 这就是我要做的PHP试图在WooCommerceAPI 2.0.1创建订单函数中获取订单ID,php,arrays,api,object,woocommerce,Php,Arrays,Api,Object,Woocommerce,我使用WooCommerceAPI创建了一个订单,效果非常好 这就是我要做的打印($client->orders->create($data) stdClass Object ( [order]=> stdClass Object ( [id]=> 817 [order_number]=> 817 [created_at]=> 2016-06-15T14:23:30Z [updat
打印($client->orders->create($data)
stdClass Object
(
[order]=> stdClass Object
(
[id]=> 817
[order_number]=> 817
[created_at]=> 2016-06-15T14:23:30Z
[updated_at]=> 2016-06-15T14:23:30Z
[completed_at]=> 2016-06-15T14:23:30Z
[status]=> pending
[currency]=> EUR
[total]=> 0.00
[subtotal]=> 0.00
[total_line_items_quantity]=> 3
[total_tax]=> 0.00
[total_shipping]=> 0.00
[cart_tax]=> 0.00
[shipping_tax]=> 0.00
[total_discount]=> 0.00
[shipping_methods]=> Free Shipping
[payment_details]=> stdClass Object
(
[method_id]=> paypal
[method_title]=> PayPal and Credit Cards
[paid]=>
)
[billing_address]=> stdClass Object
(
我正在尝试获取id
值
我将此功能称为创建订单print\r($client->orders->create($data);
其中,$data
是一个包含订单详细信息的数组
尝试了此方法,但无效:
$object = print_r($client->orders->create($data), true);
echo $object->order->id;
我用过这个
这是我的PHP代码:
<?php
require_once( 'lib/woocommerce-api.php' );
$options = array(
'debug' => true,
'return_as_array' => true,
'validate_url' => false,
'timeout' => 30,
'ssl_verify' => false,
);
$data = array(
'order' => array(
'payment_details' => array(
'method_id' => 'paypal',
'method_title' => 'PayPal and Credit Cards',
'paid' => false
),
'billing_address' => array(
'first_name' => 'name',
'last_name' => 'surname',
'company' => '',
'address_1' => 'address',
'address_2' => '',
'city' => 'city',
'state' => 'state',
'postcode' => 'cap',
'country' => 'UK',
'email' => 'email',
'phone' => 'phone'
),
'shipping_address' => array(
'first_name' => 'name',
'last_name' => 'surname',
'company' => '',
'address_1' => 'address',
'address_2' => '',
'city' => 'city',
'state' => 'state',
'postcode' => 'cap',
'country' => 'UK'
),
'customer_id' => 0,
'line_items' => array(
array(
'product_id' => 871,
'quantity' => 1
)
),
'shipping_lines' => array(
array(
'method_id' => 'free_shipping',
'method_title' => 'Free Shipping',
'total' => 0.00
)
)
)
);
try {
$client = new WC_API_Client( 'http://my-site.com', '#####', '#####', $options );
$object = print_r( $client->orders->create( $data ), true );
echo $object['order']['id'];
} catch ( WC_API_Client_Exception $e ) {
echo $e->getMessage() . PHP_EOL;
echo $e->getCode() . PHP_EOL;
if ( $e instanceof WC_API_Client_HTTP_Exception ) {
print_r( $e->get_request() );
print_r( $e->get_response() );
}
}
?>
这些行对我很有用:
$result = get_object_vars( $client->orders->create($data) );
echo( get_object_vars(array_values($result)[0])['id'] );
echo$nameofyourobjectarray->order->id;如果你读了我的问题,我已经试过了
echo$nameofyourobjectarray->order->id;
当你打印r$object时,数组是否在你得到的数组之上?我不理解你的评论,但我添加了$data
内容如果你打印r$object,你得到了什么?