Advertisement
Guest User

PHP Bug #62189

a guest
May 30th, 2012
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 0.92 KB | None | 0 0
  1. <?php
  2.  
  3. $widgets = array();
  4.  
  5. class Widget implements Serializable
  6. {
  7.     public $references = array();
  8.  
  9.     public function serialize()
  10.     {
  11.         $vars = get_object_vars($this);
  12.  
  13.         $serialized = serialize($vars);
  14.  
  15.         return $serialized;
  16.     }
  17.  
  18.     public function unserialize($serialized)
  19.     {
  20.         $array = unserialize($serialized);
  21.  
  22.         foreach($array as $k => $v)
  23.         {
  24.             $this->$k = $v;
  25.         }
  26.     }
  27. }
  28.  
  29. class Placeholder
  30. {
  31.     public $id;
  32.  
  33.     public function __construct($id)
  34.     {
  35.         $this->id = $id;
  36.     }
  37. }
  38.  
  39. $placeholder1 = new Placeholder(1);
  40. $placeholder2 = new Placeholder(2);
  41.  
  42. $widgets[0] = new Widget;
  43. $widgets[0]->references[] = $placeholder1;
  44.  
  45. $widgets[1] = new Widget;
  46. $widgets[1]->references[] = $placeholder2;
  47.  
  48. $widgets[2] = new Widget;
  49. $widgets[2]->references[] = $placeholder1;
  50.  
  51. $widgets[3] = new Widget;
  52. $widgets[3]->references[] = $placeholder1;
  53.  
  54. echo serialize($widgets);
  55. //var_dump(unserialize(serialize($widgets)));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement