Multi level array naar object?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Veil

Veil

02/02/2009 02:05:00
Quote Anchor link
Hi,

Ik ben wat aan het spelen met het omzetten van array's naar objecten. Persoonlijk vind ik $dit->namelijk->makkelijker $typen['dan']['deze']['manier']. Alleen nu het probleem:


$foo['level1'] = 'value';
$bar = (object) $foo;
echo $bar->level1; // value

unset($foo);

$foo['level1']['level2'] = 'value';
$bar = (object) $foo;
echo $bar->level1->level2; // NULL
echo $bar->level1['level2']; // value


Schijnbaar pakt hij alleen het eerste level; dat heeft weinig nut natuurlijk :) . Doe ik wat fout, of kan dit gewoon niet? (PHP Version 5.2.6)
 
PHP hulp

PHP hulp

25/11/2024 15:12:13
 
Terence Hersbach

Terence Hersbach

02/02/2009 02:31:00
Quote Anchor link
het is niet meer dan logisch, wat je wel zou kunnen doen is het volgende:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
function arrToObj ($arrElement) {
    if (is_array($arrElement)) {
        return (object) array_map('arrToObj',$arrElement);
    }
else {
        return $arrElement;
    }
}


$array = array('foo' => array('test','blub'), 'bar' => 'waarde');

$objs = (object) array_map('arrToObj',$array);
?>

zo kan je on-eindig diepe arrays omzetten naar objecten.
 
Veil

Veil

02/02/2009 11:02:00
Quote Anchor link
Handig; thanks!
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.