2014-10-29 213 views
-3

在print_r語句中得到以下數組結構後:
它來自Magento。任何人都可以請建議我如何從這個陣列獲得customoptions_qty
如何從php數組中獲取值

Mage_Catalog_Model_Product_Option_Value Object 
(

    [_origData:protected] => Array 
     (
      [option_type_id] => 13 
      [option_id] => 5 
      [sku] => 
      [sort_order] => 0 
      [customoptions_qty] => 55 
      [default] => 0 
      [in_group_id] => 262142 
      [dependent_ids] => 263141 
      [weight] => 0.0000 
      [default_title] => Buy 3 Get 1 
      [store_title] => 
      [title] => Buy 3 Get 1 
      [default_option_type_price_id] => 13 
      [default_price] => 300.0000 
      [default_price_type] => percent 
      [default_special_price] => 
      [default_special_comment] => 
      [store_option_type_price_id] => 
      [store_price] => 
      [store_price_type] => 
      [store_special_price] => 
      [store_special_comment] => 
      [option_type_price_id] => 13 
      [price] => 300.0000 
      [price_type] => percent 
      [special_price] => 
      [special_comment] => 
     ) 



) 
+1

你好,歡迎來到SO。請閱讀[如何提出一個好問題](http://stackoverflow.com/help/how-to-ask)。 – jurgemaister 2014-10-29 14:33:29

回答

0

假設您打印的變量名爲$_option
你可以得到customoptions_qty這樣的:

$qty = $_option->getOrigData('customoptions_qty'); 

你可以得到全陣列這樣

$origData = $_option->getOrigData(); 

我不知道什麼是你想實現的,但你可能會做錯了。
magento中的_origData數組包含從數據庫中檢索到的對象的值。
如果修改了對象,你可能想使用

$qty = $_option->getData('customoptions_qty'); 

Magento的物體看起來像這樣

Class_Name Object 
(
    [_data:protected] => Array 
     ( 
      //some values here 
     ) 

    [_origData:protected] => Array 
     (
      //some values here 
     ) 
) 

當你剛剛從DB,_data對象的價值觀和_origData是相同的,但是_data可以改變。

+0

非常感謝..它很好地工作:) – 2014-10-30 11:10:40

1

Magento用於所有dataorigData陣列內的值的魔呼叫者/ getter/setter方法。

每當你嘗試獲取駝峯格式屬性名的值,魔法主叫方將嘗試使用under_scoreifyed屬性名稱來從data陣列的價值。

如果該值不在data陣列中,魔術呼叫者將嘗試在origData陣列中找到它。

$obj->getCustomoptionsQty(); 
$obj->getData('customoptions_qty'); 

如果你已經設置了新的價值有一定財產,想通過使用getOrigData來獲得原始值就可以。

$obj->getOrigData('customoptions_qty');