arraykeypath

Gesponsorde koppelingen

PHP script bestanden

  1. arraykeypath

« Lees de omschrijving en reacties

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
<?php

function array_keypath($array, $path) {
    if(!is_array($path)) {
        $path = preg_split('/[\s\.]*\[([^\]]+)\]\s*|\.+/', $path, 0, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY);
    }

    
    while(($step = array_shift($path)) !== null) {
        if(!isset($array[$step])) {
            return null;
        }

        
        $array = $array[$step];
    }

    
    return $array;
}

?>


Wat testdata, ter inspiratie:
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
<?php

$array
= array(
    'array' => array(
        42 => array(
            'al fa' => array(
                'beta' => array(
                    'gamma' => array(
                        'alfa' => 'correct'
                    )
                )
            ),

            'aalfa' => 'wrong'
        )
    )
);


$path1 = 'array[42]  [al fa] . [beta][gamma][alfa]';
$path2 = 'array.42.al fa.beta.gamma.alfa';
$path3 = 'array[42][al fa] .beta..gamma[alfa]';

var_dump(array_keypath($array, $path1)); // "correct"
var_dump(array_keypath($array, $path2)); // "correct"
var_dump(array_keypath($array, $path3)); // "correct"
?>

 
 

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.