So the other day I was working on how to build a chess application with PHP. I started to think about building the board by creating a array with eight sub arrays. This allows me to make the whole board and single variable. This was easy to set up. Then I realized how will i save this to a data base? The answer to this is a two functions serialize() and unserialize(). What they do is take an array and tern it into a savable text string. For example if you take the code.
<?php //Creates an array $array = array('one'=>1,'two'=>2); //Serializes the array (makes is savable) $array_unserialized = serialize($array); //Echos out the array. echo $array_unserialized; ?>
This code out puts a:2:{s:3:”one”;i:1;s:3:”two”;i:2;} The nice thing about the serialize functions is that you can also send it multidimensional arrays. To tern it back into a usable array you would do.
<?php //Terns the array back to the array. $array_new = unserialize($array_unserialized); //Does something with the array. var_dump($array_new); ?>
This code outputs you guessed it array(2) { [“one”]=> int(1) [“two”]=> int(2) }
Just a little handy tool.
Warning: Don’t pass user data to unserialize() a malicious user can use it to exploit your site. To find out more look at http://php.net/manual/en/function.unserialize.php and look under Notes.
No Comments Yet