How to use php serialize() and unserialize()

后端 未结 10 1716
Happy的楠姐
Happy的楠姐 2020-11-22 05:03

My problem is very basic.

I did not find any example to meet my needs as to what exactly serialize() and unserialize() mean in php? They ju

相关标签:
10条回答
  • 2020-11-22 05:49

    PHP serialize() unserialize() usage

    http://freeonlinetools24.com/serialize

    echo '<pre>';
    // say you have an array something like this 
    $multidimentional_array= array(
        array(
            array("rose", 1.25, 15),
            array("daisy", 0.75, 25),
            array("orchid", 4, 7) 
           ),
        array(
            array("rose", 1.25, 15),
            array("daisy", 0.75, 25),
            array("orchid", 5, 7) 
           ),
        array(
            array("rose", 1.25, 15),
            array("daisy", 0.75, 25),
            array("orchid", 8, 7) 
        )
    );
    
    // serialize 
    $serialized_array=serialize($multidimentional_array);
    print_r($serialized_array);
    

    Which gives you an output something like this

    a:3:{i:0;a:3:{i:0;a:3:{i:0;s:4:"rose";i:1;d:1.25;i:2;i:15;}i:1;a:3:{i:0;s:5:"daisy";i:1;d:0.75;i:2;i:25;}i:2;a:3:{i:0;s:6:"orchid";i:1;i:4;i:2;i:7;}}i:1;a:3:{i:0;a:3:{i:0;s:4:"rose";i:1;d:1.25;i:2;i:15;}i:1;a:3:{i:0;s:5:"daisy";i:1;d:0.75;i:2;i:25;}i:2;a:3:{i:0;s:6:"orchid";i:1;i:5;i:2;i:7;}}i:2;a:3:{i:0;a:3:{i:0;s:4:"rose";i:1;d:1.25;i:2;i:15;}i:1;a:3:{i:0;s:5:"daisy";i:1;d:0.75;i:2;i:25;}i:2;a:3:{i:0;s:6:"orchid";i:1;i:8;i:2;i:7;}}}
    

    again if you want to get the original array back just use PHP unserialize() function

    $original_array=unserialize($serialized_array);
    var_export($original_array);
    

    I hope this will help

    0 讨论(0)
  • 2020-11-22 05:49

    Basically, when you serialize arrays or objects you simply turn it to a valid string format so that you can easily store them outside of the php script.

    1. Use serialize to save the state of an object in database (lets take the User class as an example) Next unserialize the data to load the previous state back to the object (methods are not serializer you need to include object class to be able to use it)
      • user personalization

    Note for object you should use magic __sleep and __wakeup methods. __sleep is called by serialize(). A sleep method will return an array of the values from the object that you want to persist.

    __wakeup is called by unserialize(). A wakeup method should take the unserialized values and initialize them in them in the object.

    For passing data between php and js you would use json_encode to turn php array to valid json format. Or other way round - use JSON.parese() to convert a output data (string) into valid json object. You would want to do that to make use of local storage. (offline data access)

    0 讨论(0)
  • 2020-11-22 05:53

    When you want to make your php value storable, you have to turn it to be a string value, that is what serialize() does. And unserialize() does the reverse thing.

    0 讨论(0)
  • 2020-11-22 05:56
    <?php
    $a= array("1","2","3");
    print_r($a);
    $b=serialize($a);
    echo $b;
    $c=unserialize($b);
    print_r($c);
    

    Run this program its echo the output

    a:3:{i:0;s:1:"1";i:1;s:1:"2";i:2;s:1:"3";}
    


    here
    a=size of array
    i=count of array number
    s=size of array values

    you can use serialize to store array of data in database
    and can retrieve and UN-serialize data to use.

    0 讨论(0)
提交回复
热议问题