Ini parsen naar een multidimensionale Array

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Andreas Warnaar

Andreas Warnaar

09/04/2009 20:19:00
Quote Anchor link
Ik wil voor een project een ini file kunnen importeren naar een multidimensionale array.
Ik dacht aan een ' . ' gescheide namen , die dan om zetten naar de specifieke keys.

Kort voorbeeld:
config.database.host = localhost
Hier wil ik een array krijgen als :
array ( ['config'] => array (
['database'] =>
array( ['host'] => 'localhost');


Zend doet dit ook al volgens mij...

Iemand die mij iets verder kan helpen?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
config.ini
[testserver]
database.host = localhost
database.user= username
databasepass = password
database.name = dbname
database.port=

hash.passsalt = iets
hash.sessionsalt= ietsander

routes.home.route = "/home"
routes.home.controller = index
routes.home.actioin = index


Code wat ik al heb maar nog geen dynamisch array kan maken..
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
class Ini_Parser
{
    public $parserdValues;
        
    public function __construct($file=null,$section = 'dev'){
        if ( $file !== null ) {
            
            $iniValues = parse_ini_file( $file , true );
            $returnArr = array();
                    
            foreach ($iniValues[$section] as $parts => $values)
            {

                $arr = explode('.',$parts);
                $returnArr[$arr[0]][$arr[1]][$arr[2]] = $values;
            }

        }

        $this->parserdValues = $returnArr;
    }

    
    public function getValues($key)
    {

        return $this->parserdValues[$key];
    }

?>
Gewijzigd op 01/01/1970 01:00:00 door Andreas Warnaar
 
Er zijn nog geen reacties op dit bericht.



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.