PHP 变量处理函数

PHP unserialize() 函数用于将序列化变量转换回 PHP 值,是PHP的反序列化函数。

语法

unserialize(data, options) 

    参数

    data必填 指定反序列化字符串。
    options可选 指定要提供给函数的选项,作为关联数组。可以是应该接受的类名数组, false 表示不接受类, true 表示接受所有类。默认为true。

    返回值

    返回转换后的值,可以是bool、int、float、string,数组或对象。如果传递的字符串不可反序列化,则返回 false 并发出 E_NOTICE。

    异常

    对象可能会在其反序列化处理程序中抛出 Throwables 异常。

    示例: unserialize() 示例

    下面的示例显示了unserialize()函数的用法。

    <?php
    //定义一个数组
    $arr = array( 
        "Hello", 
        array(10, 20),
        "World"
    );
    
    //序列化数组
    $str = serialize($arr); 
      
    //显示结果
    echo $str."\n"; 
    
    //反序列化字符串
    $newStr = unserialize($str); 
      
    //显示结果
    print_r($newStr); 
    ?> 
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    上述代码的输出将是:

    a:3:{i:0;s:5:"Hello";i:1;a:2:{i:0;i:10;i:1;i:20;}i:2;s:5:"World";}
    Array
    (
        [0] => Hello
        [1] => Array
            (
                [0] => 10
                [1] => 20
            )
    
        [2] => World
    ) 
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11