Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP试图在WooCommerceAPI 2.0.1创建订单函数中获取订单ID_Php_Arrays_Api_Object_Woocommerce - Fatal编程技术网

PHP试图在WooCommerceAPI 2.0.1创建订单函数中获取订单ID

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

我使用WooCommerceAPI创建了一个订单,效果非常好

这就是我要做的
打印($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,你得到了什么?