2013-08-14 3 views
3

Я пытаюсь получить доступ к части объекта с PHP. Однако я могу получить доступ к определенным частям, когда я пытаюсь получить доступ к части, содержащей последние 4 цифры номера кредитной карты, она просто печатает NULL. Вот мой код:Доступ к атрибуту объекта с помощью PHP

$customer = Braintree_Customer::find('51658462'); 
echo var_dump($customer); 

Это напечатает объект. Вот кусок распечатки:

object(Braintree_Customer)#1 (1) { 
    ["_attributes"]=> 
    array(14) { 
    ["id"]=> 
    string(8) "51658462" 
    ["merchantId"]=> 
    string(16) "tyn83x4j454dnvmt" 
    ["firstName"]=> 
    string(4) "Demo" 
    ["lastName"]=> 
    string(7) "Account" 
    ["company"]=> 
    NULL 
    ["phone"]=> 
    string(12) "555-555-5555" 
    ["fax"]=> 
    NULL 
    ["website"]=> 
    NULL 
    ["createdAt"]=> 
    object(DateTime)#8 (3) { 
     ["date"]=> 
     string(19) "2013-08-14 15:19:26" 
     ["timezone_type"]=> 
     int(3) 
     ["timezone"]=> 
     string(3) "UTC" 
    } 
    ["updatedAt"]=> 
    object(DateTime)#9 (3) { 
     ["date"]=> 
     string(19) "2013-08-14 15:19:27" 
     ["timezone_type"]=> 
     int(3) 
     ["timezone"]=> 
     string(3) "UTC" 
    } 
    ["customFields"]=> 
    string(3) " 
    " 
    ["creditCards"]=> 
    array(1) { 
     [0]=> 
     object(Braintree_CreditCard)#2 (1) { 
     ["_attributes"]=> 
     array(29) { 
      ["bin"]=> 
      string(6) "371275" 
      ["expirationMonth"]=> 
      string(2) "01" 
      ["expirationYear"]=> 
      string(4) "2016" 
      ["last4"]=> 
      string(4) "1234" 

Я пытаюсь получить доступ к атрибуту last4. Я пробовал несколько разных методов, но никто из них не работает. Я думал, что echo var_dump($customer->creditCards->last4); даст мне значение, но это не так. Что мне не хватает?

ответ

4
var_dump($customer->creditCards[0]->last4); 

creditCards представляет собой массив, содержащий один элемент - и FYI, вам не нужно echo результаты var_dump.

+0

Awesome! Спасибо, это сработало! – three3