递归调用 unserialize 反序列化
$test = 'a:8:{s:4:"cart";s:439:"a:1:{s:32:"bef40f55e8ec1e2d878b9c8157c4277b";a:11:{s:3:"key";s:32:"bef40f55e8ec1e2d878b9c8157c4277b";s:10:"product_id";i:37075;s:12:"variation_id";i:0;s:9:"variation";a:0:{}s:8:"quantity";i:1;s:9:"data_hash";s:32:"b5c1d5ca8bae6d4896cf1807cdf763f0";s:13:"line_tax_data";a:2:{s:8:"subtotal";a:1:{i:1;d:0.21;}s:5:"total";a:1:{i:1;d:0.21;}}s:13:"line_subtotal";d:1;s:17:"line_subtotal_tax";d:0.21;s:10:"line_total";d:1;s:8:"line_tax";d:0.21;}}";s:11:"cart_totals";s:422:"a:15:{s:8:"subtotal";s:4:"1.00";s:12:"subtotal_tax";d:0.21;s:14:"shipping_total";s:4:"0.00";s:12:"shipping_tax";i:0;s:14:"shipping_taxes";a:0:{}s:14:"discount_total";i:0;s:12:"discount_tax";i:0;s:19:"cart_contents_total";s:4:"1.00";s:17:"cart_contents_tax";d:0.21;s:19:"cart_contents_taxes";a:1:{i:1;d:0.21;}s:9:"fee_total";s:4:"0.00";s:7:"fee_tax";i:0;s:9:"fee_taxes";a:0:{}s:5:"total";s:4:"1.21";s:9:"total_tax";d:0.21;}";s:15:"applied_coupons";s:6:"a:0:{}";s:22:"coupon_discount_totals";s:6:"a:0:{}";s:26:"coupon_discount_tax_totals";s:6:"a:0:{}";s:21:"removed_cart_contents";s:6:"a:0:{}";s:10:"wc_notices";N;s:8:"customer";s:689:"a:26:{s:2:"id";s:1:"0";s:13:"date_modified";s:0:"";s:8:"postcode";s:0:"";s:4:"city";s:0:"";s:9:"address_1";s:0:"";s:7:"address";s:0:"";s:9:"address_2";s:0:"";s:5:"state";s:1:"M";s:7:"country";s:2:"ES";s:17:"shipping_postcode";s:0:"";s:13:"shipping_city";s:0:"";s:18:"shipping_address_1";s:0:"";s:16:"shipping_address";s:0:"";s:18:"shipping_address_2";s:0:"";s:14:"shipping_state";s:1:"M";s:16:"shipping_country";s:2:"ES";s:13:"is_vat_exempt";s:0:"";s:19:"calculated_shipping";s:0:"";s:10:"first_name";s:0:"";s:9:"last_name";s:0:"";s:7:"company";s:0:"";s:5:"phone";s:0:"";s:5:"email";s:0:"";s:19:"shipping_first_name";s:0:"";s:18:"shipping_last_name";s:0:"";s:16:"shipping_company";s:0:"";}";}';
function recursion_unserialize($ss){
if(is_string($ss) && preg_match('/^[a-z]:\d+:/', $ss)){
$data = @unserialize($ss);
if($data !== false){
if(is_array($data)){
foreach($data as $key => $val){
$data[$key] = recursion_unserialize($val);
}
} else if(is_object($data)){
foreach($data as $key => $val){
$data->$key = recursion_unserialize($val);
}
}
return $data;
}
}
return $ss;
}
echo json_encode(recursion_unserialize($test));
{
"cart": {
"bef40f55e8ec1e2d878b9c8157c4277b": {
"key": "bef40f55e8ec1e2d878b9c8157c4277b",
"product_id": 37075,
"variation_id": 0,
"variation": [],
"quantity": 1,
"data_hash": "b5c1d5ca8bae6d4896cf1807cdf763f0",
"line_tax_data": {
"subtotal": {
"1": 0.21
},
"total": {
"1": 0.21
}
},
"line_subtotal": 1,
"line_subtotal_tax": 0.21,
"line_total": 1,
"line_tax": 0.21
}
},
"cart_totals": {
"subtotal": "1.00",
"subtotal_tax": 0.21,
"shipping_total": "0.00",
"shipping_tax": 0,
"shipping_taxes": [],
"discount_total": 0,
"discount_tax": 0,
"cart_contents_total": "1.00",
"cart_contents_tax": 0.21,
"cart_contents_taxes": {
"1": 0.21
},
"fee_total": "0.00",
"fee_tax": 0,
"fee_taxes": [],
"total": "1.21",
"total_tax": 0.21
},
"applied_coupons": [],
"coupon_discount_totals": [],
"coupon_discount_tax_totals": [],
"removed_cart_contents": [],
"wc_notices": null,
"customer": {
"id": "0",
"date_modified": "",
"postcode": "",
"city": "",
"address_1": "",
"address": "",
"address_2": "",
"state": "M",
"country": "ES",
"shipping_postcode": "",
"shipping_city": "",
"shipping_address_1": "",
"shipping_address": "",
"shipping_address_2": "",
"shipping_state": "M",
"shipping_country": "ES",
"is_vat_exempt": "",
"calculated_shipping": "",
"first_name": "",
"last_name": "",
"company": "",
"phone": "",
"email": "",
"shipping_first_name": "",
"shipping_last_name": "",
"shipping_company": ""
}
}