summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDerick Rethans <derick@php.net>2005-10-17 14:38:12 +0000
committerDerick Rethans <derick@php.net>2005-10-17 14:38:12 +0000
commit8f4112bfdd48f02c32b227e700d436417d4d3529 (patch)
tree510a5fd47f21847de7d477511740f568dc641769
parentb0f1719ee5a2179f47a5630281809ee9133fb680 (diff)
downloadphp-git-8f4112bfdd48f02c32b227e700d436417d4d3529.tar.gz
- Fixed bug #29361 (var_export() producing invalid code). (Derick)
-rw-r--r--NEWS3
-rw-r--r--ext/standard/tests/array/007.phpt400
-rw-r--r--ext/standard/tests/array/array_intersect_1.phpt560
-rw-r--r--ext/standard/tests/array/var_export.phpt6
-rw-r--r--ext/standard/tests/array/var_export3.phpt24
-rw-r--r--ext/standard/var.c17
6 files changed, 513 insertions, 497 deletions
diff --git a/NEWS b/NEWS
index 573c9b68c0..52b02e57d2 100644
--- a/NEWS
+++ b/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.
diff --git a/ext/standard/tests/array/007.phpt b/ext/standard/tests/array/007.phpt
index 95479e18bb..0e5c32af28 100644
--- a/ext/standard/tests/array/007.phpt
+++ b/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) {
diff --git a/ext/standard/tests/array/array_intersect_1.phpt b/ext/standard/tests/array/array_intersect_1.phpt
index 1fed25dcb2..74c4828c23 100644
--- a/ext/standard/tests/array/array_intersect_1.phpt
+++ b/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) {
diff --git a/ext/standard/tests/array/var_export.phpt b/ext/standard/tests/array/var_export.phpt
index d5acf9dada..acfec76991 100644
--- a/ext/standard/tests/array/var_export.phpt
+++ b/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',
+))
diff --git a/ext/standard/tests/array/var_export3.phpt b/ext/standard/tests/array/var_export3.phpt
new file mode 100644
index 0000000000..6d39946916
--- /dev/null
+++ b/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,
+))
diff --git a/ext/standard/var.c b/ext/standard/var.c
index a908fd7769..dcb98d3efd 100644
--- a/ext/standard/var.c
+++ b/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");