<?php
class Test
{
public $a = 'a';
protected $b = 'b';
private $c = 'c';
}
function objectToArray ($object)
{
$array = (array) $object;
return array_combine(
array_map(
function($k) { return $k; },
array_keys($array)
),
array_values($array)
);
}
$array = objectToArray( new \Test());
var_export((array) new \Test());
- Output for 7.1.17, 7.3.24 - 7.3.33, 7.4.12 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.4, 8.3.6
- array (
'a' => 'a',
'' . "\0" . '*' . "\0" . 'b' => 'b',
'' . "\0" . 'Test' . "\0" . 'c' => '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
array (
'a' => 'a',
'' . "\0" . '*' . "\0" . 'b' => 'b',
'' . "\0" . 'Test' . "\0" . 'c' => 'c',
)
preferences:
122.43 ms | 402 KiB | 116 Q