Browse Source

- Fixed bug #29361 (var_export() producing invalid code). (Derick)

PHP-5.1
Derick Rethans 21 years ago
parent
commit
8f4112bfdd
  1. 3
      NEWS
  2. 400
      ext/standard/tests/array/007.phpt
  3. 560
      ext/standard/tests/array/array_intersect_1.phpt
  4. 6
      ext/standard/tests/array/var_export.phpt
  5. 24
      ext/standard/tests/array/var_export3.phpt
  6. 17
      ext/standard/var.c

3
NEWS

@ -3,7 +3,8 @@ PHP NEWS
?? Oct 2005, PHP 5.1 Release Candidate 3
- Fixed bug #34873 (Segmentation Fault on foreach in object). (Dmitry)
- Fixed bug #34884 (Possible crash in ext/sqlite when sqlite.assoc_case is
being used). (Tony,Ilia)
being used). (Tony, Ilia)
- Fixed bug #29361 (var_export() producing invalid code). (Derick)
14 Oct 2005, PHP 5.1 Release Candidate 2
- Changed SQLite extension to be a shared module in Windows distribution.

400
ext/standard/tests/array/007.phpt

@ -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) {

560
ext/standard/tests/array/array_intersect_1.phpt

@ -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) {

6
ext/standard/tests/array/var_export.phpt

@ -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',
))

24
ext/standard/tests/array/var_export3.phpt

@ -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,
))

17
ext/standard/var.c

@ -352,18 +352,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_unmangle_property_name_ex(hash_key->arKey, hash_key->nKeyLength, &class_name, &prop_name);
if (class_name) {
if (class_name[0] == '*') {
php_printf("protected");
} else {
php_printf("private");
}
} else {
php_printf("public");
}
php_printf(" $%s = ", prop_name);
php_printf(" '%s' => ", prop_name);
php_var_export(zv, level + 2 TSRMLS_CC);
PUTS (";\n");
PUTS (",\n");
}
return 0;
}
@ -414,7 +405,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 %s {\n", class_name);
php_printf ("%s::__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);
@ -422,7 +413,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");

Loading…
Cancel
Save