Avatar billede xpresand Nybegynder
07. september 2014 - 14:59 Der er 6 kommentarer og
1 løsning

Hive data ud af stdClass Object array

Hej!

Jeg er igang med at arbejde med WooCommerce's REST API, og har formået at udskrive alle ordre-id'erne.

Nu skal jeg til at have informationerne til den enkelte ordre, hvilke jeg får udskrevet som stdClass Object.

Jeg vil gerne have hjælp til at hente fornavn, efternavn og e-mail ud fra array'et. Der er tale om OOP, og json_decode kan derfor ikke benyttes.

Sådan ser mit output ud - beklager længden er koden:

object(stdClass)#103 (1) { ["order"]=> object(stdClass)#104 (32) { ["id"]=> int(3739) ["order_number"]=> string(5) "#3739" ["created_at"]=> string(20) "2014-08-01T10:55:21Z" ["updated_at"]=> string(20) "2014-08-01T11:07:49Z" ["completed_at"]=> string(20) "2014-08-01T10:07:49Z" ["status"]=> string(9) "cancelled" ["currency"]=> string(3) "DKK" ["total"]=> string(6) "158.00" ["subtotal"]=> string(6) "111.20" ["total_line_items_quantity"]=> int(1) ["total_tax"]=> string(5) "28.00" ["total_shipping"]=> string(5) "18.75" ["cart_tax"]=> string(5) "27.80" ["shipping_tax"]=> string(4) "0.00" ["total_discount"]=> string(4) "0.00" ["cart_discount"]=> string(4) "0.00" ["order_discount"]=> string(4) "0.00" ["shipping_methods"]=> string(12) "Post Denmark" ["payment_details"]=> object(stdClass)#109 (3) { ["method_id"]=> string(6) "paypal" ["method_title"]=> string(6) "PayPal" ["paid"]=> bool(false) } ["billing_address"]=> object(stdClass)#112 (11) { ["first_name"]=> string(7) "Fabiola" ["last_name"]=> string(11) "Christensen" ["company"]=> string(7) "Fabiola" ["address_1"]=> string(13) "Maglemosen 20" ["address_2"]=> string(0) "" ["city"]=> string(9) "Ølstykke" ["state"]=> string(0) "" ["postcode"]=> string(4) "3650" ["country"]=> string(2) "DK" ["email"]=> string(26) "fc@fabiola-christensen.com" ["phone"]=> string(8) "29669813" } ["shipping_address"]=> object(stdClass)#111 (9) { ["first_name"]=> string(7) "Fabiola" ["last_name"]=> string(11) "Christensen" ["company"]=> string(7) "Fabiola" ["address_1"]=> string(13) "Maglemosen 20" ["address_2"]=> string(0) "" ["city"]=> string(9) "Ølstykke" ["state"]=> string(0) "" ["postcode"]=> string(4) "3650" ["country"]=> string(2) "DK" } ["note"]=> string(0) "" ["customer_ip"]=> string(13) "93.163.161.11" ["customer_user_agent"]=> string(120) "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36" ["customer_id"]=> string(1) "0" ["view_order_url"]=> string(47) "http://superberry.dk/my-account/view-order/3739" ["line_items"]=> array(1) { [0]=> object(stdClass)#108 (10) { ["id"]=> int(131) ["subtotal"]=> string(6) "111.20" ["total"]=> string(6) "111.20" ["total_tax"]=> string(5) "28.00" ["price"]=> string(6) "111.20" ["quantity"]=> int(1) ["tax_class"]=> NULL ["name"]=> string(18) "Himalaya Goji Bær" ["product_id"]=> int(3492) ["sku"]=> string(4) "D002" } } ["shipping_lines"]=> array(1) { [0]=> object(stdClass)#107 (4) { ["id"]=> int(132) ["method_id"]=> string(9) "flat_rate" ["method_title"]=> string(12) "Post Denmark" ["total"]=> string(5) "18.75" } } ["tax_lines"]=> array(1) { [0]=> object(stdClass)#105 (4) { ["code"]=> string(8) "DK-VAT-1" ["title"]=> string(3) "VAT" ["total"]=> string(5) "27.80" ["compound"]=> bool(false) } } ["fee_lines"]=> array(0) { } ["coupon_lines"]=> array(0) { } ["customer"]=> object(stdClass)#114 (6) { ["id"]=> int(0) ["email"]=> string(26) "fc@fabiola-christensen.com" ["first_name"]=> string(7) "Fabiola" ["last_name"]=> string(11) "Christensen" ["billing_address"]=> object(stdClass)#106 (11) { ["first_name"]=> string(7) "Fabiola" ["last_name"]=> string(11) "Christensen" ["company"]=> string(7) "Fabiola" ["address_1"]=> string(13) "Maglemosen 20" ["address_2"]=> string(0) "" ["city"]=> string(9) "Ølstykke" ["state"]=> string(0) "" ["postcode"]=> string(4) "3650" ["country"]=> string(2) "DK" ["email"]=> string(26) "fc@fabiola-christensen.com" ["phone"]=> string(8) "29669813" } ["shipping_address"]=> object(stdClass)#110 (9) { ["first_name"]=> string(7) "Fabiola" ["last_name"]=> string(11) "Christensen" ["company"]=> string(7) "Fabiola" ["address_1"]=> string(13) "Maglemosen 20" ["address_2"]=> string(0) "" ["city"]=> string(9) "Ølstykke" ["state"]=> string(0) "" ["postcode"]=> string(4) "3650" ["country"]=> string(2) "DK" } } } }
Avatar billede Slater Ekspert
07. september 2014 - 15:55 #1
Jeg skal lige være med: Får du det i tekstformat sådan der? Eller er det bare en var_dump af objektet?

Hvis det er tekst, så må der da næsten være noget galt - det er ikke normalt at arbejde med. Hvis du har objektet, så er det vel bare $object->first_name osv?
Avatar billede xpresand Nybegynder
07. september 2014 - 16:09 #2
Det er var_dump :)

$info->first_name fungerer ikke får denne fejlmeddelelse.

Notice: Undefined property: stdClass::$first_name in /var/www/satio.dk/sikkr.dk/profil/api/woocommerce/index.php on line 42


Min linje 42 er:
echo $info->first_name;
Avatar billede erikjacobsen Ekspert
07. september 2014 - 16:19 #3
echo $info->order->billing_address_first_name;

bemærk at der er indlejrede {-ere.
Avatar billede erikjacobsen Ekspert
07. september 2014 - 16:19 #4
Typo:

echo $info->order->billing_address->first_name;
Avatar billede xpresand Nybegynder
07. september 2014 - 16:27 #5
Tak - det virkede! Ligger du et svar ;)
Avatar billede erikjacobsen Ekspert
07. september 2014 - 16:31 #6
Jeg samler slet ikke på point, tak. Svar selv, og accepter eget svar.
Avatar billede xpresand Nybegynder
07. september 2014 - 16:38 #7
I orden.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester