I am working on a small function which will convert objects to strings. It is easy if object has values as arrays. But I want this function to work even my object or array has some values as another object or array. I make it very coarse so experts please help this to make it tidy for everyone.
My function:
function makeString($array)
{
$outval = "";
foreach($array as $key=>$value) {
if (is_object($value)) {
$arr = array();
$arr = get_object_vars($value);
foreach($arr as $key1=>$value1){
if(is_array($value1)) {
$outval .= "\t\t$key1\n";
$outval .= makeString($value1);
}
else {
$outval .= "\t$key1: $value1\n";
}
}
}
if(is_array($value)) {
$outval .= "\t$key\n";
$outval .= makeString($value);
}
else {
$outval .= "$key: $value\n";
}
}
return $outval;
}
This part is recurring inside my function:
...
if (is_object($value)) {
$arr = array();
$arr = get_object_vars($value);
foreach($arr as $key1=>$value1){
if(is_array($value1)) {
$outval .= "\t\t$key1\n";
$outval .= makeString($value1);
}
else {
$outval .= "\t$key1: $value1\n";
}
}
}
...
What if $value1 here is also an object? What should I do to make this function work even if my object has many other objects or arrays inside main object.