Получить идентификатор продукта из массива order_item_info

#magento

#magento

Вопрос:

Когда я печатаю массив order_item_info с помощью

echo »

"; print_r($profile['order_item_info']); echo"

«;

Он выводит массив следующим образом

a:74:{s: 7: «item_id»; s:3: «108»; s: 8: «quote_id»; s: 2:»92″; s: 10: «created_at»; s:19:»2014-06-25 08:32:20″; субъект:10: «updated_at»;s:19:»2014-06-25 08:32:20″; s:10: «product_id»; s:1: «6»; s:8: «store_id»; s:1:»1″; s: 14: «parent_item_id»; N;s: 10: «is_virtual»; s: 1:»0″; s: 3: «артикул»; s: 10: «one-yr-sub»; s: 4: «имя»; s: 8: «Один Year»;s:11:»description»;N;s:16:»applied_rule_ids»;s:0:»»;s:15:»additional_data»;N;s:13:»free_shipping»;s:1:»0″;s:14:»is_qty_decimal»;s:1:»0″;s:11:»no_discount»;s:1:»0″;s:6:»weight»;s:6:»0.0010″;s:3:»qty»;i:1;s:5:»price»;d:100;s:10:»base_price»;d:100;s:12:»custom_price»;N;s:16:»discount_percent»;i:0;s:15:»discount_amount»;i:0;s:20:»base_discount_amount»;i:0;s:11:»tax_percent»;i:0;s:10:»tax_amount»;i:0;s:15:»base_tax_amount»;i:0;s:9:»row_total»;d:100;s:14:»base_row_total»;d:100;s:23:»row_total_with_discount»;s:6:»0.0000″;s:10:»row_weight»;d:0.001000000000000000020816681711721685132943093776702880859375;s:12:»product_type»;s:6:»simple»;s:24:»base_tax_before_discount»;N;s:19:»tax_before_discount»;N;s:21:»original_custom_price»;N;s:12:»redirect_url»;N;s:9:»base_cost»;N;s:14:»price_incl_tax»;d:100;s:19:»base_price_incl_tax»;d:100;s:18:»row_total_incl_tax»;d:100;s:23:»base_row_total_incl_tax»;d:100;s:17:»hidden_tax_amount»;i:0;s:22:»base_hidden_tax_amount»;i:0;s:15:»gift_message_id»;N;s:20:»weee_tax_disposition»;i:0;s:24:»weee_tax_row_disposition»;i:0;s:25:»base_weee_tax_disposition»;i:0;s:29:»base_weee_tax_row_disposition»;i:0;s:16:»weee_tax_applied»;s:6:»a:0:{}»;s:23:»weee_tax_applied_amount»;i:0;s:27:»weee_tax_applied_row_amount»;i:0;s:28:»base_weee_tax_applied_amount»;i:0;s:30:»base_weee_tax_applied_row_amnt»;N;s:11:»qty_options»;a:0:{}s:12:»tax_class_id»;s:1:»0″;s:12:»is_recurring»;s:1:»1″;s:9:»has_error»;b:0;s:10:»is_nominal»;b:1;s:22:»base_calculation_price»;d:100;s:17:»calculation_price»;d:100;s:15:»converted_price»;d:100;s:19:»base_original_price»;d:100;s:14:»taxable_amount»;d:100;s:19:»base_taxable_amount»;d:100;s:17:»is_price_incl_tax»;b:0;s:14:»original_price»;d:100;s:32:»base_weee_tax_applied_row_amount»;i:0;s:25:»discount_tax_compensation»;i:0;s:20:»base_shipping_amount»;d:5;s:15:»shipping_amount»;d:5;s:17:»nominal_row_total»;d:105;s:22:»base_nominal_row_total»;d:105;s:21:»nominal_total_details»;a:0:{}s:15:»info_buyRequest»;s:225:»a:4:{s:4:»uenc»;s:124:»aHR0cDovL2J3Y211bHRpbWVkaWEuY29tL0UvZXh0ZW5zaW9udGVzdC9pbmRleC5waHAvbXVsdGl2ZW5kb3IvdmVuZG9ycHJvZHVjdHMvc3Vic2NyaXB0aW9uLw,,»;s:7:»product»;s:1:»6″;s:8:»form_key»;s:16:»be2eDRXu1MC7OXfK»;s:3:»qty»;i:1;}»;}

Этот массив содержит product_id теперь я хочу отделить этот product_id от этого массива. как я могу это сделать?

Ответ №1:

Этот вывод на самом деле не является массивом, а скорее сериализованным строковым представлением массива, поэтому вы должны сначала отменить его сериализацию. (http://www.php.net//manual/en/function.unserialize.php ) — ты можешь сделать это вот так:

 $order_item_info = unserialize($profile['order_item_info']);
 

Затем вы можете получить доступ к массиву как обычно, например:

 print_r($order_item_info['product_id']);