2010-12-08 11 views
0

Ich arbeite mit einem Objekt, das Informationen in einem Format wie folgt zurückgibt ... Ich habe einige Details entfernt, wo die Informationen ein wenig wiederholt werden, um etwas Platz zu sparen.Wie extrahiere ich die Details von einem PHP-Objekt?

ISC_QUOTE_ITEM Object (
    [type:protected] => 1 
    [id:protected] => 4cff5974138c9 
    [hash:protected] => cd2a8393493a286cf1fe97d92a947719 
    [productData:protected] => 
    [productId:protected] => 28 
    [variationId:protected] => 0 
    [variationOptions:protected] => Array () 
    [quantity:protected] => 1 
    [originalOrderQuantity:protected] => 0 
    [name:protected] => Mac Pro 
    [basePrice:protected] => 2799.0000 
    [sku:protected] => 
    [wrapping:protected] => Array () 
    [configuration:protected] => Array () 
    [eventDate:protected] => Array () 
    [eventName:protected] => 
    [parentId:protected] => 
    [quote:protected] => ISC_QUOTE Object (
     [customerId:protected] => 
     [customerGroupId:protected] => 
     [discounts:protected] => Array () 
     [addresses:protected] => Array ( 
      [4cff2f55b0fcd] => ISC_QUOTE_ADDRESS_SHIPPING Object (
       [shippingMethod:protected] => 
       [shippingCache:protected] => 
       [handlingCost:protected] => 0 
       [quote:protected] => ISC_QUOTE Object *RECURSION* 
       [type:protected] => shipping 
       [id:protected] => 4cff2f55b0fcd 
       [firstName:protected] => asd 
       [lastName:protected] => asd 
       [company:protected] => asd 
       [phone:protected] => asd 
       [email:protected] => [email protected] 
       [address1:protected] => asd 
       [address2:protected] => 
       [zip:protected] => 62990 
       [city:protected] => asd 
       [state:protected] => Array (
        [id] => 0 
        [iso2] => 
        [name] => asd 
       ) 
       [country:protected] => Array (
        [id] => 99 
        [name] => India 
        [iso2] => IN 
       ) 
       [cachedTotals:protected] => Array () 
       [customFields:protected] => Array () 
       [saveAddress:protected] => 
       [customerAddressId:protected] => 0 
      ) 
      [4cff2f55cc2b6] => ISC_QUOTE_ADDRESS Object (
       [handlingCost:protected] => 
       [quote:protected] => ISC_QUOTE Object *RECURSION* 
       [type:protected] => billing 
       [id:protected] => 4cff2f55cc2b6 
       [firstName:protected] => asd 
       [lastName:protected] => asd 
       [company:protected] => asd 
       [phone:protected] => asd 
       [email:protected] => [email protected] 
       [address1:protected] => asd 
       [address2:protected] => 
       [zip:protected] => 62990 
       [city:protected] => asd 
       [state:protected] => Array (
        [id] => 0 
        [iso2] => 
        [name] => asd 
       ) 
       [country:protected] => Array (
        [id] => 99 
        [name] => India 
        [iso2] => IN 
       ) 
       [cachedTotals:protected] => Array () 
       [customFields:protected] => Array () 
       [saveAddress:protected] => 
       [customerAddressId:protected] => 0 
      ) 
     ) 
     [coupons:protected] => Array () 
     [giftCertificates:protected] => Array () 
     [items:protected] => Array (
      [0] => ISC_QUOTE_ITEM Object (
       [type:protected] => 1 
       [id:protected] => 4cff2f55b11d2 
       [hash:protected] => 587e0ee453488554f782b20f3c928916 
       [productData:protected] => 
       [productId:protected] => 24 
       [variationId:protected] => 0 
       [variationOptions:protected] => Array () 
       [quantity:protected] => 3 
       [originalOrderQuantity:protected] => 0 
       [name:protected] => Apple iPod Socks 
       [basePrice:protected] => 29.0000 
       [sku:protected] => 
       [wrapping:protected] => Array () 
       [configuration:protected] => Array () 
       [eventDate:protected] => Array () 
       [eventName:protected] => 
       [parentId:protected] => 
       [quote:protected] => ISC_QUOTE Object *RECURSION* 
       [discounts:protected] => Array () 
       [isCustomPrice:protected] => 
       [addressId:protected] => 4cff2f55b0fcd 
       [cachedTotals:protected] => Array () 
       [inQuote:protected] => 1 
       [inventoryChecking:protected] => 1 
       [weight:protected] => 1.0000 
       [fixedShippingCost:protected] => 0.0000 
      ) 
      [1] => ISC_QUOTE_ITEM Object (
       [type:protected] => 1 
       [id:protected] => 4cff58167d29f 
       [hash:protected] => 1da6aa898763172b8f7b9d8097d37f42 
       [productData:protected] => 
       [productId:protected] => 23 
       [variationId:protected] => 0 
       [variationOptions:protected] => Array () 
       [quantity:protected] => 1 
       [originalOrderQuantity:protected] => 0 
       [name:protected] => Apple In-Ear Headphones with Remote and Mic 
       [basePrice:protected] => 79.0000 
       [sku:protected] => 
       [wrapping:protected] => Array () 
       [configuration:protected] => Array () 
       [eventDate:protected] => Array () 
       [eventName:protected] => 
       [parentId:protected] => 
       [quote:protected] => ISC_QUOTE Object *RECURSION* 
       [discounts:protected] => Array () 
       [isCustomPrice:protected] => 
       [addressId:protected] => 4cff2f55b0fcd 
       [cachedTotals:protected] => Array () 
       [inQuote:protected] => 1 
       [inventoryChecking:protected] => 1 
       [weight:protected] => 2.0000 
       [fixedShippingCost:protected] => 0.0000 
      ) 
      [2] => ISC_QUOTE_ITEM Object *RECURSION* 
     ) 
     [isSplitShipping:protected] => 
     [cachedTotals:protected] => Array () 
     [hasFreeShipping:protected] => 
     [appliedStoreCredit:protected] => 0 
     [appliedDiscountRules:protected] => Array () 
     [customerMessage:protected] => 
     [staffNotes:protected] => 
     [orderStatus:protected] => 0 
     [orderId:protected] => 
     [discountsEnabled:protected] => 1 
    ) 
    [discounts:protected] => Array () 
    [isCustomPrice:protected] => 
    [addressId:protected] => 4cff2f55b0fcd 
    [cachedTotals:protected] => Array () 
    [inQuote:protected] => 1 
    [inventoryChecking:protected] => 1 
    [weight:protected] => 3.0000 
    [fixedShippingCost:protected] => 0.0000 
) 

Ich brauche Details zu extrahieren wie ID, Name usw., so dass es 4cff5974138c9 liest, Mac Pro usw. sind. Wie kann ich das machen?

+0

so unlesbar Array ... – pltvs

Antwort

0

Sie benötigen eine Funktion dieser Klasse nennen (von denen ISC_QUOTE_ITEM ein Objekt ist - sagen MyClass), die die geschützte Variable

bearbeiten
gibt es zugegriffen werden kann. Ich hatte Recht.

Like this -

eine Funktion in Ihrer Klasse hinzufügen MyClass wenn Sie nicht bereits Konto haben.

public function getName() 
{ 
    return $this->name; 
} 

Und dann in Ihrem Code können Sie dies tun: -

echo $obj->getName(); 

lesen http://php.net/manual/en/language.oop5.visibility.php Einzelheiten zur Sichtbarkeit von Variablen-Typen

+0

Sie sind richtig danke .. – sangeetha

+0

Sie sind willkommen –

0

Sie können dies tun, indem Sie den Reflektor Konstrukt:

Beispiel aus http://www.php.net/manual/en/reflectionclass.getproperties.php genommen:

<?php 
class Foo { 
    public $foo = 1; 
    protected $bar = 2; 
    private $baz = 3; 
} 

$foo = new Foo(); 

$reflect = new ReflectionClass($foo); 
$props = $reflect->getProperties(ReflectionProperty::IS_PUBLIC | ReflectionProperty::IS_PROTECTED); 

foreach ($props as $prop) { 
    print $prop->getName() . "\n"; 
} 

var_dump($props); 

?> 

Wie Sie sehen können, wird auch der geschützte $bar zurückgegeben :) Und schauen Sie sich http://www.php.net/manual/en/reflectionproperty.getvalue.php#98643 an dort wird gezeigt, wie man den Wert eines geschützten Attributs zurückgibt.

Verwandte Themen