400 of 410 menu

Funzione unserialize

La funzione unserialize accetta una stringa serializzata e restituisce il corrispondente valore PHP. Come primo parametro accetta una stringa, e come secondo parametro opzionale - un array di opzioni per gestire il processo di deserializzazione.

Sintassi

unserialize(string $data, array $options = []): mixed

Esempio

Convertiamo una stringa serializzata nuovamente in un array:

<?php $serialized = 'a:3:{i:0;s:1:"a";i:1;s:1:"b";i:2;s:1:"c";}'; $res = unserialize($serialized); print_r($res); ?>

Risultato dell'esecuzione del codice:

['a', 'b', 'c']

Esempio

Deserializzazione di un oggetto:

<?php class Test { public $prop = 123; } $obj = new Test(); $serialized = serialize($obj); $res = unserialize($serialized); echo $res->prop; ?>

Risultato dell'esecuzione del codice:

123

Esempio

Utilizzo dell'opzione 'allowed_classes':

<?php $serialized = 'O:4:"Test":1:{s:4:"prop";i:123;}'; $res = unserialize($serialized, ['allowed_classes' => false]); var_dump($res); ?>

Risultato dell'esecuzione del codice:

object(__PHP_Incomplete_Class)#1 (2) { ["__PHP_Incomplete_Class_Name"]=> string(4) "Test" ["prop"]=> int(123) }

Vedi anche

  • la funzione serialize,
    che converte un valore in una stringa serializzata
  • la funzione json_encode,
    che converte un valore in una stringa JSON
derohiuzlhy