Формат шифрования данных Woocommerce, хранящихся в базе данных

Я новичок в WordPress и Woocommerce. Глядя на базу данных, я увидел несколько текстовых столбцов, где хранимое значение выглядит примерно так:

а: 23: с: 16: "woofc_last_added"; s: 32: "d770c2ff0c2b832aad82b0cbc3f144a6"; s: 21: "removed_cart_contents"; s: 6: "а: 0: {}"; s: 10: "wc_notices", N ; s: 8: "клиент"; s: 775: "а: 25:}

Я разделил большинство полей, но это выглядит примерно так.

Какой формат это?
Как я могу анализировать значения в этом формате?
Как получить все значения из этих текстовых данных в php?

Related of "Формат шифрования данных Woocommerce, хранящихся в базе данных"

Данные находятся в сериализованном защищенном формате

Вы можете попытаться использовать функции json_decode() , unserialize() или maybe_unserialize() ,
Но вы не получите никаких данных, так как это WC_Session_Handler хранит объект PROTECTED .

Вам нужно будет использовать доступные методы WC_Session_Handler или WC_Session .

1) Чтобы получить текущий объект WC_Session_Handler клиента, вы можете использовать:

 // Get the current WC_Session_Handler obect $session_obj = WC()->session; print_r($session_obj); // Raw output 

2) Чтобы получить объект WC_Session_Handler из определенного идентификатора клиента

 // The defined customer ID $customer_id = 5; // Get an Instance of the WC_Session_Handler object $new_session_obj = new WC_Session_Handler(); // The defined customer ID $session_obj = $new_session_obj->get_session( $customer_id ); 

3) Доступ к защищенным данным:

 ## --- Get the data in an array (values are still serialized) --- ## $session_data_array = WC()->session->get_session_data(); print_r($session_data_array); // Raw output ## -------------- Get the cleaned unserialized data ------------- ## $session_cart = WC()->session->get('cart'); $session_cart_totals = WC()->session->get('cart_totals'); $session_applied_coupons = WC()->session->get('applied_coupons'); $session_coupon_discount_totals = WC()->session->get('coupon_discount_totals'); $session_coupon_discount_tax_totals = WC()->session->get('coupon_discount_tax_totals'); $session_removed_cart_contents = WC()->session->get('removed_cart_contents'); $session_shipping_for_package_0 = WC()->session->get('shipping_for_package_0'); $session_previous_shipping_methods = WC()->session->get('previous_shipping_methods'); $session_chosen_shipping_methods = WC()->session->get('chosen_shipping_methods'); $session_shipping_method_counts = WC()->session->get('shipping_method_counts'); $session_customer = WC()->session->get('customer'); // Raw "Cart" output example print_r(WC()->session->get('cart')); 

Это не формат JSON, а просто способ сжатия wordpress массивов в сериализованном формате в своих таблицах. Просто используйте несериализованную функцию php, она будет неэтериализовать это, и вы сможете проанализировать ее в обычном формате php-массива. Вы можете просмотреть эту функциональную документацию здесь http://php.net/manual/en/function.unserialize.php

Он хранится в сериализованном формате. Вы можете получить нормальный массив, используя несериализованную функцию.

unserialize()