解码序列化的cookie和循环选项

问题描述 投票:0回答:1

我将表单元素作为序列化数据存储在cookie中。

在另一个页面上,我想收集此cookie但cookie包含此字符串:

form_key=kcE3W2vzParNhPN5&options%5B1508%5D=2025&options%5B1509%5D=1234&options%5B1510%5D=5678&options%5B1511%5D=&options%5B1512%5D=&options%5B1513%5D=&productId=59891

%5B和%5D是我想到的括号,但是如何查看字符串中的所有这些选项并使用PHP将它们的ID +值放入数组中。

所以从上面的字符串我想创建一个数组:

arr = array (

[1508] = '2025';
[1509] = '1234';
[1510] = '5678';
[1511] = '';
[1512] = '';

);
php cookies serialization deserialization
1个回答
1
投票

我想你想要的是parse_str()

$str = "form_key=kcE3W2vzParNhPN5&options%5B1508%5D=2025&options%5B1509%5D=1234&options%5B1510%5D=5678&options%5B1511%5D=&options%5B1512%5D=&options%5B1513%5D=&productId=59891";

$output = array();
parse_str($str, $output);

print_r($output); // $output['options'] will contain your array you're looking for.

请参阅执行here

Array
(
    [form_key] => kcE3W2vzParNhPN5
    [options] => Array
        (
            [1508] => 2025
            [1509] => 1234
            [1510] => 5678
            [1511] => 
            [1512] => 
            [1513] => 
        )

    [productId] => 59891
)
© www.soinside.com 2019 - 2024. All rights reserved.