我有一個PHP對象,我試圖通過鍵獲取值而不使用foreach。通過php對象數組的鍵值獲得值
如果我做下面我能夠得到的值:
$item_data_decode->meta_data[0]->value;
但項目可能在不同的順序,以便能夠在這種方法不計,我需要使用密鑰然而,這並不工作:
$item_data_decode->meta_data['First Name'];
代碼:
$item_data_decode = json_decode($item_values);
if (!empty($item_data_decode->meta_data)) {
$fName = $item_data_decode->meta_data['First Name']->value;
}
對象:
$a = new stdClass();
$a->meta_data = array();
$a->meta_data[0] = new stdClass();
$a->meta_data[0]->id = "2113";
$a->meta_data[0]->key = "First Name";
$a->meta_data[0]->value = "Recipient First Name";
$a->meta_data[1] = new stdClass();
$a->meta_data[1]->id = "2114";
$a->meta_data[1]->key = "Last Name";
$a->meta_data[1]->value = "Recipient Last Name";
$a->meta_data[2] = new stdClass();
$a->meta_data[2]->id = "2115";
$a->meta_data[2]->key = "addressLine 1";
$a->meta_data[2]->value = "Recipient Address Line 1";
$a->meta_data[3] = new stdClass();
$a->meta_data[3]->id = "2116";
$a->meta_data[3]->key = "addressLine2";
$a->meta_data[3]->value = "Recipient Address Line 2";
$a->meta_data[4] = new stdClass();
$a->meta_data[4]->id = "2117";
$a->meta_data[4]->key = "City";
$a->meta_data[4]->value = "Recipient Town/City";
$a->meta_data[5] = new stdClass();
$a->meta_data[5]->id = "2118";
$a->meta_data[5]->key = "Region";
$a->meta_data[5]->value = "Recipient Region/County";
$a->meta_data[6] = new stdClass();
$a->meta_data[6]->id = "2119";
$a->meta_data[6]->key = "Country";
$a->meta_data[6]->value = "N/A";
$a->meta_data[7] = new stdClass();
$a->meta_data[7]->id = "2120";
$a->meta_data[7]->key = "Postcode";
$a->meta_data[7]->value = "Recipient Postcode";
// outputs
[meta_data] => Array ([0] => stdClass Object ([id] => 2113 [key] => First Name [value] => Recipient First Name) [1] => stdClass Object ([id] => 2114 [key] => Last Name [value] => Recipient Last Name) [2] => stdClass Object ([id] => 2115 [key] => addressLine 1 [value] => Recipient Address Line 1) [3] => stdClass Object ([id] => 2116 [key] => addressLine2 [value] => Recipient Address Line 2) [4] => stdClass Object ([id] => 2117 [key] => City [value] => Recipient Town/City) [5] => stdClass Object ([id] => 2118 [key] => Region [value] => Recipient Region/County) [6] => stdClass Object ([id] => 2119 [key] => Country [value] => N/A) [7] => stdClass Object ([id] => 2120 [key] => Postcode [value] => Recipient Postcode))
添加true
到json_decode
提供以下內容:
Array ([id] => 232 [order_id] => 320 [name] => Tb [product_id] => 50 [variation_id] => 0 [quantity] => 1 [tax_class] => [subtotal] => 50 [subtotal_tax] => 0 [total] => 50 [total_tax] => 0 [taxes] => Array ([total] => Array () [subtotal] => Array ()) [meta_data] => Array ()) Array ([id] => 233 [order_id] => 320 [name] => Turtle Bay Gift Card [product_id] => 50 [variation_id] => 0 [quantity] => 1 [tax_class] => [subtotal] => 30 [subtotal_tax] => 0 [total] => 30 [total_tax] => 0 [taxes] => Array ([total] => Array () [subtotal] => Array ()) [meta_data] => Array ([0] => Array ([id] => 2113 [key] => First Name [value] => Recipient First Name) [1] => Array ([id] => 2114 [key] => Last Name [value] => Recipient Last Name) [2] => Array ([id] => 2115 [key] => addressLine 1 [value] => Recipient Address Line 1) [3] => Array ([id] => 2116 [key] => addressLine2 [value] => Recipient Address Line 2) [4] => Array ([id] => 2117 [key] => City [value] => Recipient Town/City) [5] => Array ([id] => 2118 [key] => Region [value] => Recipient Region/County) [6] => Array ([id] => 2119 [key] => Country [value] => N/A) [7] => Array ([id] => 2120 [key] => Postcode [value] => Recipient Postcode)))
你的JSON是錯誤的。改變這一點,你會很好去 – JustCarty