3v4l.org

run code in 300+ PHP versions simultaneously
<?php class ObjContainer { } class Array2Obj { public function isArrayAssociative(array $array) { return (bool) count(array_filter(array_keys($array), 'is_string')); } public function __CONSTRUCT(array $array) { if(isArrayAssociative($array)) { $obj = new ObjContainer; foreach($array as $key => $val) { if(is_array($val)) { $obj->{$key} = new Array2Obj($val); } else { $obj->{$key} = $val; } } return $obj; } else { $array = array(); foreach($array as $val) { if(is_array($val)) { $array[] = new Array2Obj($val); } else { $array[] = $val; } } return $array; } } } $array = ["database"=>["host"=>"localhost","dbname"=>"mydb","user"=>"root","password"=>""]]; $xml = new Array2Obj($array);

preferences:
61.98 ms | 402 KiB | 5 Q