<?php
class A
{
public $a;
protected $b;
private $c;
public function __construct()
{
$this->a = 'A_a';
$this->b = 'A_b';
$this->c = 'A_c';
}
}
class B extends A
{
public $b;
private $c;
public function __construct()
{
parent::__construct();
$this->b = 'B_b';
$this->c = 'B_c';
}
}
$b = new B;
var_dump($b);
$array = (array) $b;
var_dump($array);
var_export($b);
foreach ($array as $k => $v)
{
var_dump([bin2hex($k), $k, $v]);
}
- Output for 8.2.0 - 8.2.18, 8.3.0 - 8.3.4, 8.3.6
- object(B)#1 (4) {
["a"]=>
string(3) "A_a"
["b"]=>
string(3) "B_b"
["c":"A":private]=>
string(3) "A_c"
["c":"B":private]=>
string(3) "B_c"
}
array(4) {
["a"]=>
string(3) "A_a"
["b"]=>
string(3) "B_b"
[" A c"]=>
string(3) "A_c"
[" B c"]=>
string(3) "B_c"
}
\B::__set_state(array(
'a' => 'A_a',
'b' => 'B_b',
'c' => 'A_c',
'c' => 'B_c',
))array(3) {
[0]=>
string(2) "61"
[1]=>
string(1) "a"
[2]=>
string(3) "A_a"
}
array(3) {
[0]=>
string(2) "62"
[1]=>
string(1) "b"
[2]=>
string(3) "B_b"
}
array(3) {
[0]=>
string(8) "00410063"
[1]=>
string(4) " A c"
[2]=>
string(3) "A_c"
}
array(3) {
[0]=>
string(8) "00420063"
[1]=>
string(4) " B c"
[2]=>
string(3) "B_c"
}
- Output for 8.3.5
- Warning: PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /usr/lib/php/8.3.5/modules/sodium.so (libsodium.so.23: cannot open shared object file: No such file or directory), /usr/lib/php/8.3.5/modules/sodium.so.so (/usr/lib/php/8.3.5/modules/sodium.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
object(B)#1 (4) {
["a"]=>
string(3) "A_a"
["b"]=>
string(3) "B_b"
["c":"A":private]=>
string(3) "A_c"
["c":"B":private]=>
string(3) "B_c"
}
array(4) {
["a"]=>
string(3) "A_a"
["b"]=>
string(3) "B_b"
[" A c"]=>
string(3) "A_c"
[" B c"]=>
string(3) "B_c"
}
\B::__set_state(array(
'a' => 'A_a',
'b' => 'B_b',
'c' => 'A_c',
'c' => 'B_c',
))array(3) {
[0]=>
string(2) "61"
[1]=>
string(1) "a"
[2]=>
string(3) "A_a"
}
array(3) {
[0]=>
string(2) "62"
[1]=>
string(1) "b"
[2]=>
string(3) "B_b"
}
array(3) {
[0]=>
string(8) "00410063"
[1]=>
string(4) " A c"
[2]=>
string(3) "A_c"
}
array(3) {
[0]=>
string(8) "00420063"
[1]=>
string(4) " B c"
[2]=>
string(3) "B_c"
}
- Output for 8.1.0 - 8.1.28
- object(B)#1 (4) {
["a"]=>
string(3) "A_a"
["b"]=>
string(3) "B_b"
["c":"A":private]=>
string(3) "A_c"
["c":"B":private]=>
string(3) "B_c"
}
array(4) {
["a"]=>
string(3) "A_a"
["b"]=>
string(3) "B_b"
[" A c"]=>
string(3) "A_c"
[" B c"]=>
string(3) "B_c"
}
B::__set_state(array(
'a' => 'A_a',
'b' => 'B_b',
'c' => 'A_c',
'c' => 'B_c',
))array(3) {
[0]=>
string(2) "61"
[1]=>
string(1) "a"
[2]=>
string(3) "A_a"
}
array(3) {
[0]=>
string(2) "62"
[1]=>
string(1) "b"
[2]=>
string(3) "B_b"
}
array(3) {
[0]=>
string(8) "00410063"
[1]=>
string(4) " A c"
[2]=>
string(3) "A_c"
}
array(3) {
[0]=>
string(8) "00420063"
[1]=>
string(4) " B c"
[2]=>
string(3) "B_c"
}
- Output for 7.0.0 - 7.0.31, 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30
- object(B)#1 (4) {
["b"]=>
string(3) "B_b"
["c":"B":private]=>
string(3) "B_c"
["a"]=>
string(3) "A_a"
["c":"A":private]=>
string(3) "A_c"
}
array(4) {
["b"]=>
string(3) "B_b"
[" B c"]=>
string(3) "B_c"
["a"]=>
string(3) "A_a"
[" A c"]=>
string(3) "A_c"
}
B::__set_state(array(
'b' => 'B_b',
'c' => 'B_c',
'a' => 'A_a',
'c' => 'A_c',
))array(3) {
[0]=>
string(2) "62"
[1]=>
string(1) "b"
[2]=>
string(3) "B_b"
}
array(3) {
[0]=>
string(8) "00420063"
[1]=>
string(4) " B c"
[2]=>
string(3) "B_c"
}
array(3) {
[0]=>
string(2) "61"
[1]=>
string(1) "a"
[2]=>
string(3) "A_a"
}
array(3) {
[0]=>
string(8) "00410063"
[1]=>
string(4) " A c"
[2]=>
string(3) "A_c"
}
preferences:
198.4 ms | 404 KiB | 234 Q