]> granicus.if.org Git - php/commitdiff
- MF51: Fixed bug #29361 (var_export() producing invalid code).
authorDerick Rethans <derick@php.net>
Mon, 17 Oct 2005 15:03:12 +0000 (15:03 +0000)
committerDerick Rethans <derick@php.net>
Mon, 17 Oct 2005 15:03:12 +0000 (15:03 +0000)
ext/standard/tests/array/007.phpt
ext/standard/tests/array/array_intersect_1.phpt
ext/standard/tests/array/var_export.phpt
ext/standard/tests/array/var_export3.phpt [new file with mode: 0644]
ext/standard/var.c

index 971216a88ebebd63bbe62474149017da4b099adf..7a21d3e35a76a9167482dbf786885903e776ce57 100644 (file)
@@ -111,7 +111,7 @@ var_dump(array_udiff_uassoc($a, $b, array("cr", "comp_func_cr"), "comp_func"));
 echo '$a='.var_export($a,TRUE).";\n";
 echo '$b='.var_export($b,TRUE).";\n";
 echo 'var_dump(array_diff_assoc($a, $b));'."\n";
-var_dump(@array_diff_assoc($a, $b));
+var_dump(array_diff_assoc($a, $b));
 
 
 echo '$a='.var_export($a,TRUE).";\n";
@@ -254,57 +254,57 @@ array(9) {
 -=-=-=-=-=-=-=-=- New functionality from 5.0.0 -=-=-=-=-=-=-=-
 $a=array (
   '0.1' => 
-  class cr {
-    private $priv_member = 9;
-    public $public_member = 9;
-  },
+  cr::__set_state(array(
+     'priv_member' => 9,
+     'public_member' => 9,
+  )),
   '0.5' => 
-  class cr {
-    private $priv_member = 12;
-    public $public_member = 12;
-  },
+  cr::__set_state(array(
+     'priv_member' => 12,
+     'public_member' => 12,
+  )),
   0 => 
-  class cr {
-    private $priv_member = 23;
-    public $public_member = 23;
-  },
+  cr::__set_state(array(
+     'priv_member' => 23,
+     'public_member' => 23,
+  )),
   1 => 
-  class cr {
-    private $priv_member = 4;
-    public $public_member = 4;
-  },
+  cr::__set_state(array(
+     'priv_member' => 4,
+     'public_member' => 4,
+  )),
   2 => 
-  class cr {
-    private $priv_member = -15;
-    public $public_member = -15;
-  },
+  cr::__set_state(array(
+     'priv_member' => -15,
+     'public_member' => -15,
+  )),
 );
 $b=array (
   '0.2' => 
-  class cr {
-    private $priv_member = 9;
-    public $public_member = 9;
-  },
+  cr::__set_state(array(
+     'priv_member' => 9,
+     'public_member' => 9,
+  )),
   '0.5' => 
-  class cr {
-    private $priv_member = 22;
-    public $public_member = 22;
-  },
+  cr::__set_state(array(
+     'priv_member' => 22,
+     'public_member' => 22,
+  )),
   0 => 
-  class cr {
-    private $priv_member = 3;
-    public $public_member = 3;
-  },
+  cr::__set_state(array(
+     'priv_member' => 3,
+     'public_member' => 3,
+  )),
   1 => 
-  class cr {
-    private $priv_member = 4;
-    public $public_member = 4;
-  },
+  cr::__set_state(array(
+     'priv_member' => 4,
+     'public_member' => 4,
+  )),
   2 => 
-  class cr {
-    private $priv_member = -15;
-    public $public_member = -15;
-  },
+  cr::__set_state(array(
+     'priv_member' => -15,
+     'public_member' => -15,
+  )),
 );
 var_dump(array_udiff_uassoc($a, $b, "comp_func_cr", "comp_func"));
 array(3) {
@@ -332,57 +332,57 @@ array(3) {
 }
 $a=array (
   '0.1' => 
-  class cr {
-    private $priv_member = 9;
-    public $public_member = 9;
-  },
+  cr::__set_state(array(
+     'priv_member' => 9,
+     'public_member' => 9,
+  )),
   '0.5' => 
-  class cr {
-    private $priv_member = 12;
-    public $public_member = 12;
-  },
+  cr::__set_state(array(
+     'priv_member' => 12,
+     'public_member' => 12,
+  )),
   0 => 
-  class cr {
-    private $priv_member = 23;
-    public $public_member = 23;
-  },
+  cr::__set_state(array(
+     'priv_member' => 23,
+     'public_member' => 23,
+  )),
   1 => 
-  class cr {
-    private $priv_member = 4;
-    public $public_member = 4;
-  },
+  cr::__set_state(array(
+     'priv_member' => 4,
+     'public_member' => 4,
+  )),
   2 => 
-  class cr {
-    private $priv_member = -15;
-    public $public_member = -15;
-  },
+  cr::__set_state(array(
+     'priv_member' => -15,
+     'public_member' => -15,
+  )),
 );
 $b=array (
   '0.2' => 
-  class cr {
-    private $priv_member = 9;
-    public $public_member = 9;
-  },
+  cr::__set_state(array(
+     'priv_member' => 9,
+     'public_member' => 9,
+  )),
   '0.5' => 
-  class cr {
-    private $priv_member = 22;
-    public $public_member = 22;
-  },
+  cr::__set_state(array(
+     'priv_member' => 22,
+     'public_member' => 22,
+  )),
   0 => 
-  class cr {
-    private $priv_member = 3;
-    public $public_member = 3;
-  },
+  cr::__set_state(array(
+     'priv_member' => 3,
+     'public_member' => 3,
+  )),
   1 => 
-  class cr {
-    private $priv_member = 4;
-    public $public_member = 4;
-  },
+  cr::__set_state(array(
+     'priv_member' => 4,
+     'public_member' => 4,
+  )),
   2 => 
-  class cr {
-    private $priv_member = -15;
-    public $public_member = -15;
-  },
+  cr::__set_state(array(
+     'priv_member' => -15,
+     'public_member' => -15,
+  )),
 );
 var_dump(array_udiff_uassoc($a, $b, array("cr", "comp_func_cr"), "comp_func"));
 array(3) {
@@ -410,57 +410,57 @@ array(3) {
 }
 $a=array (
   '0.1' => 
-  class cr {
-    private $priv_member = 9;
-    public $public_member = 9;
-  },
+  cr::__set_state(array(
+     'priv_member' => 9,
+     'public_member' => 9,
+  )),
   '0.5' => 
-  class cr {
-    private $priv_member = 12;
-    public $public_member = 12;
-  },
+  cr::__set_state(array(
+     'priv_member' => 12,
+     'public_member' => 12,
+  )),
   0 => 
-  class cr {
-    private $priv_member = 23;
-    public $public_member = 23;
-  },
+  cr::__set_state(array(
+     'priv_member' => 23,
+     'public_member' => 23,
+  )),
   1 => 
-  class cr {
-    private $priv_member = 4;
-    public $public_member = 4;
-  },
+  cr::__set_state(array(
+     'priv_member' => 4,
+     'public_member' => 4,
+  )),
   2 => 
-  class cr {
-    private $priv_member = -15;
-    public $public_member = -15;
-  },
+  cr::__set_state(array(
+     'priv_member' => -15,
+     'public_member' => -15,
+  )),
 );
 $b=array (
   '0.2' => 
-  class cr {
-    private $priv_member = 9;
-    public $public_member = 9;
-  },
+  cr::__set_state(array(
+     'priv_member' => 9,
+     'public_member' => 9,
+  )),
   '0.5' => 
-  class cr {
-    private $priv_member = 22;
-    public $public_member = 22;
-  },
+  cr::__set_state(array(
+     'priv_member' => 22,
+     'public_member' => 22,
+  )),
   0 => 
-  class cr {
-    private $priv_member = 3;
-    public $public_member = 3;
-  },
+  cr::__set_state(array(
+     'priv_member' => 3,
+     'public_member' => 3,
+  )),
   1 => 
-  class cr {
-    private $priv_member = 4;
-    public $public_member = 4;
-  },
+  cr::__set_state(array(
+     'priv_member' => 4,
+     'public_member' => 4,
+  )),
   2 => 
-  class cr {
-    private $priv_member = -15;
-    public $public_member = -15;
-  },
+  cr::__set_state(array(
+     'priv_member' => -15,
+     'public_member' => -15,
+  )),
 );
 var_dump(array_diff_assoc($a, $b));
 array(5) {
@@ -502,57 +502,57 @@ array(5) {
 }
 $a=array (
   '0.1' => 
-  class cr {
-    private $priv_member = 9;
-    public $public_member = 9;
-  },
+  cr::__set_state(array(
+     'priv_member' => 9,
+     'public_member' => 9,
+  )),
   '0.5' => 
-  class cr {
-    private $priv_member = 12;
-    public $public_member = 12;
-  },
+  cr::__set_state(array(
+     'priv_member' => 12,
+     'public_member' => 12,
+  )),
   0 => 
-  class cr {
-    private $priv_member = 23;
-    public $public_member = 23;
-  },
+  cr::__set_state(array(
+     'priv_member' => 23,
+     'public_member' => 23,
+  )),
   1 => 
-  class cr {
-    private $priv_member = 4;
-    public $public_member = 4;
-  },
+  cr::__set_state(array(
+     'priv_member' => 4,
+     'public_member' => 4,
+  )),
   2 => 
-  class cr {
-    private $priv_member = -15;
-    public $public_member = -15;
-  },
+  cr::__set_state(array(
+     'priv_member' => -15,
+     'public_member' => -15,
+  )),
 );
 $b=array (
   '0.2' => 
-  class cr {
-    private $priv_member = 9;
-    public $public_member = 9;
-  },
+  cr::__set_state(array(
+     'priv_member' => 9,
+     'public_member' => 9,
+  )),
   '0.5' => 
-  class cr {
-    private $priv_member = 22;
-    public $public_member = 22;
-  },
+  cr::__set_state(array(
+     'priv_member' => 22,
+     'public_member' => 22,
+  )),
   0 => 
-  class cr {
-    private $priv_member = 3;
-    public $public_member = 3;
-  },
+  cr::__set_state(array(
+     'priv_member' => 3,
+     'public_member' => 3,
+  )),
   1 => 
-  class cr {
-    private $priv_member = 4;
-    public $public_member = 4;
-  },
+  cr::__set_state(array(
+     'priv_member' => 4,
+     'public_member' => 4,
+  )),
   2 => 
-  class cr {
-    private $priv_member = -15;
-    public $public_member = -15;
-  },
+  cr::__set_state(array(
+     'priv_member' => -15,
+     'public_member' => -15,
+  )),
 );
 var_dump(array_udiff($a, $b, "comp_func_cr"));
 array(2) {
@@ -573,57 +573,57 @@ array(2) {
 }
 $a=array (
   '0.1' => 
-  class cr {
-    private $priv_member = 9;
-    public $public_member = 9;
-  },
+  cr::__set_state(array(
+     'priv_member' => 9,
+     'public_member' => 9,
+  )),
   '0.5' => 
-  class cr {
-    private $priv_member = 12;
-    public $public_member = 12;
-  },
+  cr::__set_state(array(
+     'priv_member' => 12,
+     'public_member' => 12,
+  )),
   0 => 
-  class cr {
-    private $priv_member = 23;
-    public $public_member = 23;
-  },
+  cr::__set_state(array(
+     'priv_member' => 23,
+     'public_member' => 23,
+  )),
   1 => 
-  class cr {
-    private $priv_member = 4;
-    public $public_member = 4;
-  },
+  cr::__set_state(array(
+     'priv_member' => 4,
+     'public_member' => 4,
+  )),
   2 => 
-  class cr {
-    private $priv_member = -15;
-    public $public_member = -15;
-  },
+  cr::__set_state(array(
+     'priv_member' => -15,
+     'public_member' => -15,
+  )),
 );
 $b=array (
   '0.2' => 
-  class cr {
-    private $priv_member = 9;
-    public $public_member = 9;
-  },
+  cr::__set_state(array(
+     'priv_member' => 9,
+     'public_member' => 9,
+  )),
   '0.5' => 
-  class cr {
-    private $priv_member = 22;
-    public $public_member = 22;
-  },
+  cr::__set_state(array(
+     'priv_member' => 22,
+     'public_member' => 22,
+  )),
   0 => 
-  class cr {
-    private $priv_member = 3;
-    public $public_member = 3;
-  },
+  cr::__set_state(array(
+     'priv_member' => 3,
+     'public_member' => 3,
+  )),
   1 => 
-  class cr {
-    private $priv_member = 4;
-    public $public_member = 4;
-  },
+  cr::__set_state(array(
+     'priv_member' => 4,
+     'public_member' => 4,
+  )),
   2 => 
-  class cr {
-    private $priv_member = -15;
-    public $public_member = -15;
-  },
+  cr::__set_state(array(
+     'priv_member' => -15,
+     'public_member' => -15,
+  )),
 );
 var_dump(array_udiff_assoc($a, $b, "comp_func_cr"));
 array(3) {
index f3eb6ec780a22bb0020497c9e577d2ca61393cd5..5aa23349e716a80f452ce00b7e94b2ffd193e894 100644 (file)
@@ -35,7 +35,7 @@ echo "begin ------------ array_intersect() ----------------------------\n";
 echo '$a='.var_export($a,TRUE).";\n";
 echo '$b='.var_export($b,TRUE).";\n";
 echo 'var_dump(array_intersect($a, $b);'."\n";
-var_dump(@array_intersect($a, $b));
+var_dump(array_intersect($a, $b));
 echo "end   ------------ array_intersect() ----------------------------\n";
 
 /* array_uintersect() */
@@ -51,7 +51,7 @@ echo "begin ------------ array_intersect_assoc() ----------------------\n";
 echo '$a='.var_export($a,TRUE).";\n";
 echo '$b='.var_export($b,TRUE).";\n";
 echo 'var_dump(array_intersect_assoc($a, $b));'."\n";
-var_dump(@array_intersect_assoc($a, $b));
+var_dump(array_intersect_assoc($a, $b));
 echo "end   ------------ array_intersect_assoc() ----------------------\n";
 
 /* array_uintersect_assoc() */
@@ -67,7 +67,7 @@ echo "begin ------------ array_intersect_uassoc() ---------------------\n";
 echo '$a='.var_export($a,TRUE).";\n";
 echo '$b='.var_export($b,TRUE).";\n";
 echo 'var_dump(array_intersect_uassoc($a, $b, "comp_func"));'."\n";
-var_dump(@array_intersect_uassoc($a, $b, "comp_func"));
+var_dump(array_intersect_uassoc($a, $b, "comp_func"));
 echo "end   ------------ array_intersect_uassoc() ---------------------\n";
 
 /* array_uintersect_uassoc() - with ordinary function */
@@ -90,57 +90,57 @@ echo "end   ------------ array_uintersect_uassoc() with method --------\n";
 begin ------------ array_intersect() ----------------------------
 $a=array (
   '0.1' => 
-  class cr {
-    private $priv_member = 9;
-    public $public_member = 9;
-  },
+  cr::__set_state(array(
+     'priv_member' => 9,
+     'public_member' => 9,
+  )),
   '0.5' => 
-  class cr {
-    private $priv_member = 12;
-    public $public_member = 12;
-  },
+  cr::__set_state(array(
+     'priv_member' => 12,
+     'public_member' => 12,
+  )),
   0 => 
-  class cr {
-    private $priv_member = 23;
-    public $public_member = 23;
-  },
+  cr::__set_state(array(
+     'priv_member' => 23,
+     'public_member' => 23,
+  )),
   1 => 
-  class cr {
-    private $priv_member = 4;
-    public $public_member = 4;
-  },
+  cr::__set_state(array(
+     'priv_member' => 4,
+     'public_member' => 4,
+  )),
   2 => 
-  class cr {
-    private $priv_member = -15;
-    public $public_member = -15;
-  },
+  cr::__set_state(array(
+     'priv_member' => -15,
+     'public_member' => -15,
+  )),
 );
 $b=array (
   '0.2' => 
-  class cr {
-    private $priv_member = 9;
-    public $public_member = 9;
-  },
+  cr::__set_state(array(
+     'priv_member' => 9,
+     'public_member' => 9,
+  )),
   '0.5' => 
-  class cr {
-    private $priv_member = 22;
-    public $public_member = 22;
-  },
+  cr::__set_state(array(
+     'priv_member' => 22,
+     'public_member' => 22,
+  )),
   0 => 
-  class cr {
-    private $priv_member = 3;
-    public $public_member = 3;
-  },
+  cr::__set_state(array(
+     'priv_member' => 3,
+     'public_member' => 3,
+  )),
   1 => 
-  class cr {
-    private $priv_member = 4;
-    public $public_member = 4;
-  },
+  cr::__set_state(array(
+     'priv_member' => 4,
+     'public_member' => 4,
+  )),
   2 => 
-  class cr {
-    private $priv_member = -15;
-    public $public_member = -15;
-  },
+  cr::__set_state(array(
+     'priv_member' => -15,
+     'public_member' => -15,
+  )),
 );
 var_dump(array_intersect($a, $b);
 array(0) {
@@ -149,57 +149,57 @@ end   ------------ array_intersect() ----------------------------
 begin ------------ array_uintersect() ---------------------------
 $a=array (
   '0.1' => 
-  class cr {
-    private $priv_member = 9;
-    public $public_member = 9;
-  },
+  cr::__set_state(array(
+     'priv_member' => 9,
+     'public_member' => 9,
+  )),
   '0.5' => 
-  class cr {
-    private $priv_member = 12;
-    public $public_member = 12;
-  },
+  cr::__set_state(array(
+     'priv_member' => 12,
+     'public_member' => 12,
+  )),
   0 => 
-  class cr {
-    private $priv_member = 23;
-    public $public_member = 23;
-  },
+  cr::__set_state(array(
+     'priv_member' => 23,
+     'public_member' => 23,
+  )),
   1 => 
-  class cr {
-    private $priv_member = 4;
-    public $public_member = 4;
-  },
+  cr::__set_state(array(
+     'priv_member' => 4,
+     'public_member' => 4,
+  )),
   2 => 
-  class cr {
-    private $priv_member = -15;
-    public $public_member = -15;
-  },
+  cr::__set_state(array(
+     'priv_member' => -15,
+     'public_member' => -15,
+  )),
 );
 $b=array (
   '0.2' => 
-  class cr {
-    private $priv_member = 9;
-    public $public_member = 9;
-  },
+  cr::__set_state(array(
+     'priv_member' => 9,
+     'public_member' => 9,
+  )),
   '0.5' => 
-  class cr {
-    private $priv_member = 22;
-    public $public_member = 22;
-  },
+  cr::__set_state(array(
+     'priv_member' => 22,
+     'public_member' => 22,
+  )),
   0 => 
-  class cr {
-    private $priv_member = 3;
-    public $public_member = 3;
-  },
+  cr::__set_state(array(
+     'priv_member' => 3,
+     'public_member' => 3,
+  )),
   1 => 
-  class cr {
-    private $priv_member = 4;
-    public $public_member = 4;
-  },
+  cr::__set_state(array(
+     'priv_member' => 4,
+     'public_member' => 4,
+  )),
   2 => 
-  class cr {
-    private $priv_member = -15;
-    public $public_member = -15;
-  },
+  cr::__set_state(array(
+     'priv_member' => -15,
+     'public_member' => -15,
+  )),
 );
 var_dump(array_uintersect($a, $b, "comp_func_cr"));
 array(3) {
@@ -229,57 +229,57 @@ end   ------------ array_uintersect() ---------------------------
 begin ------------ array_intersect_assoc() ----------------------
 $a=array (
   '0.1' => 
-  class cr {
-    private $priv_member = 9;
-    public $public_member = 9;
-  },
+  cr::__set_state(array(
+     'priv_member' => 9,
+     'public_member' => 9,
+  )),
   '0.5' => 
-  class cr {
-    private $priv_member = 12;
-    public $public_member = 12;
-  },
+  cr::__set_state(array(
+     'priv_member' => 12,
+     'public_member' => 12,
+  )),
   0 => 
-  class cr {
-    private $priv_member = 23;
-    public $public_member = 23;
-  },
+  cr::__set_state(array(
+     'priv_member' => 23,
+     'public_member' => 23,
+  )),
   1 => 
-  class cr {
-    private $priv_member = 4;
-    public $public_member = 4;
-  },
+  cr::__set_state(array(
+     'priv_member' => 4,
+     'public_member' => 4,
+  )),
   2 => 
-  class cr {
-    private $priv_member = -15;
-    public $public_member = -15;
-  },
+  cr::__set_state(array(
+     'priv_member' => -15,
+     'public_member' => -15,
+  )),
 );
 $b=array (
   '0.2' => 
-  class cr {
-    private $priv_member = 9;
-    public $public_member = 9;
-  },
+  cr::__set_state(array(
+     'priv_member' => 9,
+     'public_member' => 9,
+  )),
   '0.5' => 
-  class cr {
-    private $priv_member = 22;
-    public $public_member = 22;
-  },
+  cr::__set_state(array(
+     'priv_member' => 22,
+     'public_member' => 22,
+  )),
   0 => 
-  class cr {
-    private $priv_member = 3;
-    public $public_member = 3;
-  },
+  cr::__set_state(array(
+     'priv_member' => 3,
+     'public_member' => 3,
+  )),
   1 => 
-  class cr {
-    private $priv_member = 4;
-    public $public_member = 4;
-  },
+  cr::__set_state(array(
+     'priv_member' => 4,
+     'public_member' => 4,
+  )),
   2 => 
-  class cr {
-    private $priv_member = -15;
-    public $public_member = -15;
-  },
+  cr::__set_state(array(
+     'priv_member' => -15,
+     'public_member' => -15,
+  )),
 );
 var_dump(array_intersect_assoc($a, $b));
 array(0) {
@@ -288,57 +288,57 @@ end   ------------ array_intersect_assoc() ----------------------
 begin ------------ array_uintersect_assoc() ---------------------
 $a=array (
   '0.1' => 
-  class cr {
-    private $priv_member = 9;
-    public $public_member = 9;
-  },
+  cr::__set_state(array(
+     'priv_member' => 9,
+     'public_member' => 9,
+  )),
   '0.5' => 
-  class cr {
-    private $priv_member = 12;
-    public $public_member = 12;
-  },
+  cr::__set_state(array(
+     'priv_member' => 12,
+     'public_member' => 12,
+  )),
   0 => 
-  class cr {
-    private $priv_member = 23;
-    public $public_member = 23;
-  },
+  cr::__set_state(array(
+     'priv_member' => 23,
+     'public_member' => 23,
+  )),
   1 => 
-  class cr {
-    private $priv_member = 4;
-    public $public_member = 4;
-  },
+  cr::__set_state(array(
+     'priv_member' => 4,
+     'public_member' => 4,
+  )),
   2 => 
-  class cr {
-    private $priv_member = -15;
-    public $public_member = -15;
-  },
+  cr::__set_state(array(
+     'priv_member' => -15,
+     'public_member' => -15,
+  )),
 );
 $b=array (
   '0.2' => 
-  class cr {
-    private $priv_member = 9;
-    public $public_member = 9;
-  },
+  cr::__set_state(array(
+     'priv_member' => 9,
+     'public_member' => 9,
+  )),
   '0.5' => 
-  class cr {
-    private $priv_member = 22;
-    public $public_member = 22;
-  },
+  cr::__set_state(array(
+     'priv_member' => 22,
+     'public_member' => 22,
+  )),
   0 => 
-  class cr {
-    private $priv_member = 3;
-    public $public_member = 3;
-  },
+  cr::__set_state(array(
+     'priv_member' => 3,
+     'public_member' => 3,
+  )),
   1 => 
-  class cr {
-    private $priv_member = 4;
-    public $public_member = 4;
-  },
+  cr::__set_state(array(
+     'priv_member' => 4,
+     'public_member' => 4,
+  )),
   2 => 
-  class cr {
-    private $priv_member = -15;
-    public $public_member = -15;
-  },
+  cr::__set_state(array(
+     'priv_member' => -15,
+     'public_member' => -15,
+  )),
 );
 var_dump(array_uintersect_assoc($a, $b, "comp_func_cr"));
 array(2) {
@@ -361,57 +361,57 @@ end   ------------ array_uintersect_assoc() ---------------------
 begin ------------ array_intersect_uassoc() ---------------------
 $a=array (
   '0.1' => 
-  class cr {
-    private $priv_member = 9;
-    public $public_member = 9;
-  },
+  cr::__set_state(array(
+     'priv_member' => 9,
+     'public_member' => 9,
+  )),
   '0.5' => 
-  class cr {
-    private $priv_member = 12;
-    public $public_member = 12;
-  },
+  cr::__set_state(array(
+     'priv_member' => 12,
+     'public_member' => 12,
+  )),
   0 => 
-  class cr {
-    private $priv_member = 23;
-    public $public_member = 23;
-  },
+  cr::__set_state(array(
+     'priv_member' => 23,
+     'public_member' => 23,
+  )),
   1 => 
-  class cr {
-    private $priv_member = 4;
-    public $public_member = 4;
-  },
+  cr::__set_state(array(
+     'priv_member' => 4,
+     'public_member' => 4,
+  )),
   2 => 
-  class cr {
-    private $priv_member = -15;
-    public $public_member = -15;
-  },
+  cr::__set_state(array(
+     'priv_member' => -15,
+     'public_member' => -15,
+  )),
 );
 $b=array (
   '0.2' => 
-  class cr {
-    private $priv_member = 9;
-    public $public_member = 9;
-  },
+  cr::__set_state(array(
+     'priv_member' => 9,
+     'public_member' => 9,
+  )),
   '0.5' => 
-  class cr {
-    private $priv_member = 22;
-    public $public_member = 22;
-  },
+  cr::__set_state(array(
+     'priv_member' => 22,
+     'public_member' => 22,
+  )),
   0 => 
-  class cr {
-    private $priv_member = 3;
-    public $public_member = 3;
-  },
+  cr::__set_state(array(
+     'priv_member' => 3,
+     'public_member' => 3,
+  )),
   1 => 
-  class cr {
-    private $priv_member = 4;
-    public $public_member = 4;
-  },
+  cr::__set_state(array(
+     'priv_member' => 4,
+     'public_member' => 4,
+  )),
   2 => 
-  class cr {
-    private $priv_member = -15;
-    public $public_member = -15;
-  },
+  cr::__set_state(array(
+     'priv_member' => -15,
+     'public_member' => -15,
+  )),
 );
 var_dump(array_intersect_uassoc($a, $b, "comp_func"));
 array(0) {
@@ -420,57 +420,57 @@ end   ------------ array_intersect_uassoc() ---------------------
 begin ------------ array_uintersect_uassoc() with ordinary func -
 $a=array (
   '0.1' => 
-  class cr {
-    private $priv_member = 9;
-    public $public_member = 9;
-  },
+  cr::__set_state(array(
+     'priv_member' => 9,
+     'public_member' => 9,
+  )),
   '0.5' => 
-  class cr {
-    private $priv_member = 12;
-    public $public_member = 12;
-  },
+  cr::__set_state(array(
+     'priv_member' => 12,
+     'public_member' => 12,
+  )),
   0 => 
-  class cr {
-    private $priv_member = 23;
-    public $public_member = 23;
-  },
+  cr::__set_state(array(
+     'priv_member' => 23,
+     'public_member' => 23,
+  )),
   1 => 
-  class cr {
-    private $priv_member = 4;
-    public $public_member = 4;
-  },
+  cr::__set_state(array(
+     'priv_member' => 4,
+     'public_member' => 4,
+  )),
   2 => 
-  class cr {
-    private $priv_member = -15;
-    public $public_member = -15;
-  },
+  cr::__set_state(array(
+     'priv_member' => -15,
+     'public_member' => -15,
+  )),
 );
 $b=array (
   '0.2' => 
-  class cr {
-    private $priv_member = 9;
-    public $public_member = 9;
-  },
+  cr::__set_state(array(
+     'priv_member' => 9,
+     'public_member' => 9,
+  )),
   '0.5' => 
-  class cr {
-    private $priv_member = 22;
-    public $public_member = 22;
-  },
+  cr::__set_state(array(
+     'priv_member' => 22,
+     'public_member' => 22,
+  )),
   0 => 
-  class cr {
-    private $priv_member = 3;
-    public $public_member = 3;
-  },
+  cr::__set_state(array(
+     'priv_member' => 3,
+     'public_member' => 3,
+  )),
   1 => 
-  class cr {
-    private $priv_member = 4;
-    public $public_member = 4;
-  },
+  cr::__set_state(array(
+     'priv_member' => 4,
+     'public_member' => 4,
+  )),
   2 => 
-  class cr {
-    private $priv_member = -15;
-    public $public_member = -15;
-  },
+  cr::__set_state(array(
+     'priv_member' => -15,
+     'public_member' => -15,
+  )),
 );
 var_dump(array_uintersect_uassoc($a, $b, "comp_func_cr", "comp_func"));
 array(2) {
@@ -493,57 +493,57 @@ end   ------------ array_uintersect_uassoc() with ordinary func -
 begin ------------ array_uintersect_uassoc() with method --------
 $a=array (
   '0.1' => 
-  class cr {
-    private $priv_member = 9;
-    public $public_member = 9;
-  },
+  cr::__set_state(array(
+     'priv_member' => 9,
+     'public_member' => 9,
+  )),
   '0.5' => 
-  class cr {
-    private $priv_member = 12;
-    public $public_member = 12;
-  },
+  cr::__set_state(array(
+     'priv_member' => 12,
+     'public_member' => 12,
+  )),
   0 => 
-  class cr {
-    private $priv_member = 23;
-    public $public_member = 23;
-  },
+  cr::__set_state(array(
+     'priv_member' => 23,
+     'public_member' => 23,
+  )),
   1 => 
-  class cr {
-    private $priv_member = 4;
-    public $public_member = 4;
-  },
+  cr::__set_state(array(
+     'priv_member' => 4,
+     'public_member' => 4,
+  )),
   2 => 
-  class cr {
-    private $priv_member = -15;
-    public $public_member = -15;
-  },
+  cr::__set_state(array(
+     'priv_member' => -15,
+     'public_member' => -15,
+  )),
 );
 $b=array (
   '0.2' => 
-  class cr {
-    private $priv_member = 9;
-    public $public_member = 9;
-  },
+  cr::__set_state(array(
+     'priv_member' => 9,
+     'public_member' => 9,
+  )),
   '0.5' => 
-  class cr {
-    private $priv_member = 22;
-    public $public_member = 22;
-  },
+  cr::__set_state(array(
+     'priv_member' => 22,
+     'public_member' => 22,
+  )),
   0 => 
-  class cr {
-    private $priv_member = 3;
-    public $public_member = 3;
-  },
+  cr::__set_state(array(
+     'priv_member' => 3,
+     'public_member' => 3,
+  )),
   1 => 
-  class cr {
-    private $priv_member = 4;
-    public $public_member = 4;
-  },
+  cr::__set_state(array(
+     'priv_member' => 4,
+     'public_member' => 4,
+  )),
   2 => 
-  class cr {
-    private $priv_member = -15;
-    public $public_member = -15;
-  },
+  cr::__set_state(array(
+     'priv_member' => -15,
+     'public_member' => -15,
+  )),
 );
 var_dump(array_uintersect_uassoc($a, $b, array("cr", "comp_func_cr"), "comp_func"));
 array(2) {
@@ -567,57 +567,57 @@ end   ------------ array_uintersect_uassoc() with method --------
 begin ------------ array_intersect() ----------------------------
 $a=array (
   '0.1' => 
-  class cr {
-    private $priv_member = 9;
-    public $public_member = 9;
-  },
+  cr::__set_state(array(
+     'priv_member' => 9,
+     'public_member' => 9,
+  )),
   '0.5' => 
-  class cr {
-    private $priv_member = 12;
-    public $public_member = 12;
-  },
+  cr::__set_state(array(
+     'priv_member' => 12,
+     'public_member' => 12,
+  )),
   0 => 
-  class cr {
-    private $priv_member = 23;
-    public $public_member = 23;
-  },
+  cr::__set_state(array(
+     'priv_member' => 23,
+     'public_member' => 23,
+  )),
   1 => 
-  class cr {
-    private $priv_member = 4;
-    public $public_member = 4;
-  },
+  cr::__set_state(array(
+     'priv_member' => 4,
+     'public_member' => 4,
+  )),
   2 => 
-  class cr {
-    private $priv_member = -15;
-    public $public_member = -15;
-  },
+  cr::__set_state(array(
+     'priv_member' => -15,
+     'public_member' => -15,
+  )),
 );
 $b=array (
   '0.2' => 
-  class cr {
-    private $priv_member = 9;
-    public $public_member = 9;
-  },
+  cr::__set_state(array(
+     'priv_member' => 9,
+     'public_member' => 9,
+  )),
   '0.5' => 
-  class cr {
-    private $priv_member = 22;
-    public $public_member = 22;
-  },
+  cr::__set_state(array(
+     'priv_member' => 22,
+     'public_member' => 22,
+  )),
   0 => 
-  class cr {
-    private $priv_member = 3;
-    public $public_member = 3;
-  },
+  cr::__set_state(array(
+     'priv_member' => 3,
+     'public_member' => 3,
+  )),
   1 => 
-  class cr {
-    private $priv_member = 4;
-    public $public_member = 4;
-  },
+  cr::__set_state(array(
+     'priv_member' => 4,
+     'public_member' => 4,
+  )),
   2 => 
-  class cr {
-    private $priv_member = -15;
-    public $public_member = -15;
-  },
+  cr::__set_state(array(
+     'priv_member' => -15,
+     'public_member' => -15,
+  )),
 );
 var_dump(array_intersect($a, $b);
 array(0) {
@@ -626,57 +626,57 @@ end   ------------ array_intersect() ----------------------------
 begin ------------ array_uintersect() ---------------------------
 $a=array (
   '0.1' => 
-  class cr {
-    private $priv_member = 9;
-    public $public_member = 9;
-  },
+  cr::__set_state(array(
+     'priv_member' => 9,
+     'public_member' => 9,
+  )),
   '0.5' => 
-  class cr {
-    private $priv_member = 12;
-    public $public_member = 12;
-  },
+  cr::__set_state(array(
+     'priv_member' => 12,
+     'public_member' => 12,
+  )),
   0 => 
-  class cr {
-    private $priv_member = 23;
-    public $public_member = 23;
-  },
+  cr::__set_state(array(
+     'priv_member' => 23,
+     'public_member' => 23,
+  )),
   1 => 
-  class cr {
-    private $priv_member = 4;
-    public $public_member = 4;
-  },
+  cr::__set_state(array(
+     'priv_member' => 4,
+     'public_member' => 4,
+  )),
   2 => 
-  class cr {
-    private $priv_member = -15;
-    public $public_member = -15;
-  },
+  cr::__set_state(array(
+     'priv_member' => -15,
+     'public_member' => -15,
+  )),
 );
 $b=array (
   '0.2' => 
-  class cr {
-    private $priv_member = 9;
-    public $public_member = 9;
-  },
+  cr::__set_state(array(
+     'priv_member' => 9,
+     'public_member' => 9,
+  )),
   '0.5' => 
-  class cr {
-    private $priv_member = 22;
-    public $public_member = 22;
-  },
+  cr::__set_state(array(
+     'priv_member' => 22,
+     'public_member' => 22,
+  )),
   0 => 
-  class cr {
-    private $priv_member = 3;
-    public $public_member = 3;
-  },
+  cr::__set_state(array(
+     'priv_member' => 3,
+     'public_member' => 3,
+  )),
   1 => 
-  class cr {
-    private $priv_member = 4;
-    public $public_member = 4;
-  },
+  cr::__set_state(array(
+     'priv_member' => 4,
+     'public_member' => 4,
+  )),
   2 => 
-  class cr {
-    private $priv_member = -15;
-    public $public_member = -15;
-  },
+  cr::__set_state(array(
+     'priv_member' => -15,
+     'public_member' => -15,
+  )),
 );
 var_dump(array_uintersect($a, $b, "comp_func_cr"));
 array(3) {
@@ -706,57 +706,57 @@ end   ------------ array_uintersect() ---------------------------
 begin ------------ array_intersect_assoc() ----------------------
 $a=array (
   '0.1' => 
-  class cr {
-    private $priv_member = 9;
-    public $public_member = 9;
-  },
+  cr::__set_state(array(
+     'priv_member' => 9,
+     'public_member' => 9,
+  )),
   '0.5' => 
-  class cr {
-    private $priv_member = 12;
-    public $public_member = 12;
-  },
+  cr::__set_state(array(
+     'priv_member' => 12,
+     'public_member' => 12,
+  )),
   0 => 
-  class cr {
-    private $priv_member = 23;
-    public $public_member = 23;
-  },
+  cr::__set_state(array(
+     'priv_member' => 23,
+     'public_member' => 23,
+  )),
   1 => 
-  class cr {
-    private $priv_member = 4;
-    public $public_member = 4;
-  },
+  cr::__set_state(array(
+     'priv_member' => 4,
+     'public_member' => 4,
+  )),
   2 => 
-  class cr {
-    private $priv_member = -15;
-    public $public_member = -15;
-  },
+  cr::__set_state(array(
+     'priv_member' => -15,
+     'public_member' => -15,
+  )),
 );
 $b=array (
   '0.2' => 
-  class cr {
-    private $priv_member = 9;
-    public $public_member = 9;
-  },
+  cr::__set_state(array(
+     'priv_member' => 9,
+     'public_member' => 9,
+  )),
   '0.5' => 
-  class cr {
-    private $priv_member = 22;
-    public $public_member = 22;
-  },
+  cr::__set_state(array(
+     'priv_member' => 22,
+     'public_member' => 22,
+  )),
   0 => 
-  class cr {
-    private $priv_member = 3;
-    public $public_member = 3;
-  },
+  cr::__set_state(array(
+     'priv_member' => 3,
+     'public_member' => 3,
+  )),
   1 => 
-  class cr {
-    private $priv_member = 4;
-    public $public_member = 4;
-  },
+  cr::__set_state(array(
+     'priv_member' => 4,
+     'public_member' => 4,
+  )),
   2 => 
-  class cr {
-    private $priv_member = -15;
-    public $public_member = -15;
-  },
+  cr::__set_state(array(
+     'priv_member' => -15,
+     'public_member' => -15,
+  )),
 );
 var_dump(array_intersect_assoc($a, $b));
 array(0) {
@@ -765,57 +765,57 @@ end   ------------ array_intersect_assoc() ----------------------
 begin ------------ array_uintersect_assoc() ---------------------
 $a=array (
   '0.1' => 
-  class cr {
-    private $priv_member = 9;
-    public $public_member = 9;
-  },
+  cr::__set_state(array(
+     'priv_member' => 9,
+     'public_member' => 9,
+  )),
   '0.5' => 
-  class cr {
-    private $priv_member = 12;
-    public $public_member = 12;
-  },
+  cr::__set_state(array(
+     'priv_member' => 12,
+     'public_member' => 12,
+  )),
   0 => 
-  class cr {
-    private $priv_member = 23;
-    public $public_member = 23;
-  },
+  cr::__set_state(array(
+     'priv_member' => 23,
+     'public_member' => 23,
+  )),
   1 => 
-  class cr {
-    private $priv_member = 4;
-    public $public_member = 4;
-  },
+  cr::__set_state(array(
+     'priv_member' => 4,
+     'public_member' => 4,
+  )),
   2 => 
-  class cr {
-    private $priv_member = -15;
-    public $public_member = -15;
-  },
+  cr::__set_state(array(
+     'priv_member' => -15,
+     'public_member' => -15,
+  )),
 );
 $b=array (
   '0.2' => 
-  class cr {
-    private $priv_member = 9;
-    public $public_member = 9;
-  },
+  cr::__set_state(array(
+     'priv_member' => 9,
+     'public_member' => 9,
+  )),
   '0.5' => 
-  class cr {
-    private $priv_member = 22;
-    public $public_member = 22;
-  },
+  cr::__set_state(array(
+     'priv_member' => 22,
+     'public_member' => 22,
+  )),
   0 => 
-  class cr {
-    private $priv_member = 3;
-    public $public_member = 3;
-  },
+  cr::__set_state(array(
+     'priv_member' => 3,
+     'public_member' => 3,
+  )),
   1 => 
-  class cr {
-    private $priv_member = 4;
-    public $public_member = 4;
-  },
+  cr::__set_state(array(
+     'priv_member' => 4,
+     'public_member' => 4,
+  )),
   2 => 
-  class cr {
-    private $priv_member = -15;
-    public $public_member = -15;
-  },
+  cr::__set_state(array(
+     'priv_member' => -15,
+     'public_member' => -15,
+  )),
 );
 var_dump(array_uintersect_assoc($a, $b, "comp_func_cr"));
 array(2) {
@@ -838,57 +838,57 @@ end   ------------ array_uintersect_assoc() ---------------------
 begin ------------ array_intersect_uassoc() ---------------------
 $a=array (
   '0.1' => 
-  class cr {
-    private $priv_member = 9;
-    public $public_member = 9;
-  },
+  cr::__set_state(array(
+     'priv_member' => 9,
+     'public_member' => 9,
+  )),
   '0.5' => 
-  class cr {
-    private $priv_member = 12;
-    public $public_member = 12;
-  },
+  cr::__set_state(array(
+     'priv_member' => 12,
+     'public_member' => 12,
+  )),
   0 => 
-  class cr {
-    private $priv_member = 23;
-    public $public_member = 23;
-  },
+  cr::__set_state(array(
+     'priv_member' => 23,
+     'public_member' => 23,
+  )),
   1 => 
-  class cr {
-    private $priv_member = 4;
-    public $public_member = 4;
-  },
+  cr::__set_state(array(
+     'priv_member' => 4,
+     'public_member' => 4,
+  )),
   2 => 
-  class cr {
-    private $priv_member = -15;
-    public $public_member = -15;
-  },
+  cr::__set_state(array(
+     'priv_member' => -15,
+     'public_member' => -15,
+  )),
 );
 $b=array (
   '0.2' => 
-  class cr {
-    private $priv_member = 9;
-    public $public_member = 9;
-  },
+  cr::__set_state(array(
+     'priv_member' => 9,
+     'public_member' => 9,
+  )),
   '0.5' => 
-  class cr {
-    private $priv_member = 22;
-    public $public_member = 22;
-  },
+  cr::__set_state(array(
+     'priv_member' => 22,
+     'public_member' => 22,
+  )),
   0 => 
-  class cr {
-    private $priv_member = 3;
-    public $public_member = 3;
-  },
+  cr::__set_state(array(
+     'priv_member' => 3,
+     'public_member' => 3,
+  )),
   1 => 
-  class cr {
-    private $priv_member = 4;
-    public $public_member = 4;
-  },
+  cr::__set_state(array(
+     'priv_member' => 4,
+     'public_member' => 4,
+  )),
   2 => 
-  class cr {
-    private $priv_member = -15;
-    public $public_member = -15;
-  },
+  cr::__set_state(array(
+     'priv_member' => -15,
+     'public_member' => -15,
+  )),
 );
 var_dump(array_intersect_uassoc($a, $b, "comp_func"));
 array(0) {
@@ -897,57 +897,57 @@ end   ------------ array_intersect_uassoc() ---------------------
 begin ------------ array_uintersect_uassoc() with ordinary func -
 $a=array (
   '0.1' => 
-  class cr {
-    private $priv_member = 9;
-    public $public_member = 9;
-  },
+  cr::__set_state(array(
+     'priv_member' => 9,
+     'public_member' => 9,
+  )),
   '0.5' => 
-  class cr {
-    private $priv_member = 12;
-    public $public_member = 12;
-  },
+  cr::__set_state(array(
+     'priv_member' => 12,
+     'public_member' => 12,
+  )),
   0 => 
-  class cr {
-    private $priv_member = 23;
-    public $public_member = 23;
-  },
+  cr::__set_state(array(
+     'priv_member' => 23,
+     'public_member' => 23,
+  )),
   1 => 
-  class cr {
-    private $priv_member = 4;
-    public $public_member = 4;
-  },
+  cr::__set_state(array(
+     'priv_member' => 4,
+     'public_member' => 4,
+  )),
   2 => 
-  class cr {
-    private $priv_member = -15;
-    public $public_member = -15;
-  },
+  cr::__set_state(array(
+     'priv_member' => -15,
+     'public_member' => -15,
+  )),
 );
 $b=array (
   '0.2' => 
-  class cr {
-    private $priv_member = 9;
-    public $public_member = 9;
-  },
+  cr::__set_state(array(
+     'priv_member' => 9,
+     'public_member' => 9,
+  )),
   '0.5' => 
-  class cr {
-    private $priv_member = 22;
-    public $public_member = 22;
-  },
+  cr::__set_state(array(
+     'priv_member' => 22,
+     'public_member' => 22,
+  )),
   0 => 
-  class cr {
-    private $priv_member = 3;
-    public $public_member = 3;
-  },
+  cr::__set_state(array(
+     'priv_member' => 3,
+     'public_member' => 3,
+  )),
   1 => 
-  class cr {
-    private $priv_member = 4;
-    public $public_member = 4;
-  },
+  cr::__set_state(array(
+     'priv_member' => 4,
+     'public_member' => 4,
+  )),
   2 => 
-  class cr {
-    private $priv_member = -15;
-    public $public_member = -15;
-  },
+  cr::__set_state(array(
+     'priv_member' => -15,
+     'public_member' => -15,
+  )),
 );
 var_dump(array_uintersect_uassoc($a, $b, "comp_func_cr", "comp_func"));
 array(2) {
@@ -970,57 +970,57 @@ end   ------------ array_uintersect_uassoc() with ordinary func -
 begin ------------ array_uintersect_uassoc() with method --------
 $a=array (
   '0.1' => 
-  class cr {
-    private $priv_member = 9;
-    public $public_member = 9;
-  },
+  cr::__set_state(array(
+     'priv_member' => 9,
+     'public_member' => 9,
+  )),
   '0.5' => 
-  class cr {
-    private $priv_member = 12;
-    public $public_member = 12;
-  },
+  cr::__set_state(array(
+     'priv_member' => 12,
+     'public_member' => 12,
+  )),
   0 => 
-  class cr {
-    private $priv_member = 23;
-    public $public_member = 23;
-  },
+  cr::__set_state(array(
+     'priv_member' => 23,
+     'public_member' => 23,
+  )),
   1 => 
-  class cr {
-    private $priv_member = 4;
-    public $public_member = 4;
-  },
+  cr::__set_state(array(
+     'priv_member' => 4,
+     'public_member' => 4,
+  )),
   2 => 
-  class cr {
-    private $priv_member = -15;
-    public $public_member = -15;
-  },
+  cr::__set_state(array(
+     'priv_member' => -15,
+     'public_member' => -15,
+  )),
 );
 $b=array (
   '0.2' => 
-  class cr {
-    private $priv_member = 9;
-    public $public_member = 9;
-  },
+  cr::__set_state(array(
+     'priv_member' => 9,
+     'public_member' => 9,
+  )),
   '0.5' => 
-  class cr {
-    private $priv_member = 22;
-    public $public_member = 22;
-  },
+  cr::__set_state(array(
+     'priv_member' => 22,
+     'public_member' => 22,
+  )),
   0 => 
-  class cr {
-    private $priv_member = 3;
-    public $public_member = 3;
-  },
+  cr::__set_state(array(
+     'priv_member' => 3,
+     'public_member' => 3,
+  )),
   1 => 
-  class cr {
-    private $priv_member = 4;
-    public $public_member = 4;
-  },
+  cr::__set_state(array(
+     'priv_member' => 4,
+     'public_member' => 4,
+  )),
   2 => 
-  class cr {
-    private $priv_member = -15;
-    public $public_member = -15;
-  },
+  cr::__set_state(array(
+     'priv_member' => -15,
+     'public_member' => -15,
+  )),
 );
 var_dump(array_uintersect_uassoc($a, $b, array("cr", "comp_func_cr"), "comp_func"));
 array(2) {
index d5acf9dada17eb379678b671af447be58ab95ab2..acfec7699198167a1562a267f0d200c6acbb5715 100644 (file)
@@ -6,6 +6,6 @@ $a = (object) array (1, 3, "foo" => "bar");
 var_export($a);
 ?>
 --EXPECT--
-class stdClass {
-  public $foo = 'bar';
-}
+stdClass::__set_state(array(
+   'foo' => 'bar',
+))
diff --git a/ext/standard/tests/array/var_export3.phpt b/ext/standard/tests/array/var_export3.phpt
new file mode 100644 (file)
index 0000000..6d39946
--- /dev/null
@@ -0,0 +1,24 @@
+--TEST--
+var_export() and classes
+--FILE--
+<?php
+class kake {
+       public $mann;
+       protected $kvinne;
+
+       function __construct()
+       {
+               $this->mann = 42;
+               $this->kvinne = 43;
+       }
+}
+
+$kake = new kake;
+
+var_export($kake);
+?>
+--EXPECT--
+kake::__set_state(array(
+   'mann' => 42,
+   'kvinne' => 43,
+))
index 4fbead50341535a46950d031d8b4b11461ad28e5..809365545e01b83f1bfaf65053efb141e79120e6 100644 (file)
@@ -497,18 +497,9 @@ static int php_object_element_export(zval **zv, int num_args, va_list args, zend
        if (hash_key->nKeyLength != 0) {
                php_printf("%*c", level + 1, ' ');
                zend_u_unmangle_property_name(hash_key->type, hash_key->u.string, &class_name, &prop_name);
-               if (class_name) {
-                       if (class_name[0] == '*') {
-                               php_printf("protected");
-                       } else {
-                               php_printf("private");
-                       }
-               } else {
-                       php_printf("public");
-               }
-               php_printf(" $%R = ", hash_key->type, prop_name);
+               php_printf(" '%R' => ", hash_key->type, prop_name);
                php_var_export(zv, level + 2 TSRMLS_CC);
-               PUTS (";\n");
+               PUTS (",\n");
        }
        return 0;
 }
@@ -564,7 +555,7 @@ PHPAPI void php_var_export(zval **struc, int level TSRMLS_DC)
                        php_printf("\n%*c", level - 1, ' ');
                }
                Z_OBJ_HANDLER(**struc, get_class_name)(*struc, &class_name, &class_name_len, 0 TSRMLS_CC);
-               php_printf ("class %v {\n", class_name);
+               php_printf ("%v::__set_state(array(\n", class_name);
                efree(class_name);
                if (myht) {
                        zend_hash_apply_with_arguments(myht, (apply_func_args_t) php_object_element_export, 1, level);
@@ -572,7 +563,7 @@ PHPAPI void php_var_export(zval **struc, int level TSRMLS_DC)
                if (level > 1) {
                        php_printf("%*c", level - 1, ' ');
                }
-               PUTS("}");
+               php_printf ("))");
                break;
        default:
                PUTS ("NULL");