PHP: dinamik boyutlu bir dizideki anahtar konumunu bulmak

0 Cevap php

Zaten bir süre önce bu birine benzer soru attılar, ama şimdi öyle bir nüsha olarak bu kapatmayın lütfen farklı.

Ben çok boyutlu bir dizi var. Ben verilen dizi tuşu (tüm dizi anahtarları dizeleri) konumunu bulur ve ardından bir dizi AS dizideki anahtarın konumunu döndüren bir işlev istiyorum.

İşte bir örnek, dizi bulunuyor:

$arr = array
(
    'fruit' => array(
        'apples' => array(),
        'oranges' => array(),
        'bananas' => array()
    ),
    'vegetables' => array(
        'tomatoes' => array(),
        'carrots' => array(),
        'celery' => array(),
        'beets' => array
        (
            'bears' => array(),
            'battlestar-galactica' => array()
        ),
    ),
    'meat' => array(),
    'other' => array()
);

Işlevi bağımsız değişken / sayısını dinamik (yani isteğe bağlı argümanlar) olmalıdır. Argümanlar benim dizi (ler) "seviyeleri" (boyutları) temsil eder.

If the function gets called with one argument, the function should only look for keys on the first level/dimension of the array (i.e. in the example those would be 'fruit', 'vegetables', 'meat' and 'other').
If it gets called with two arguments, e.g. theFunction('vegetables', 'beets'), it should look for a key called 'vegetables' and then look for a "sub"key called 'beets' (ONLY in the 'vegetables' level/branch/dimension though!) In that example it would return array(1, 3).

Tabii ki bu seviyeleri / boyutları herhangi bir sayı ile çalışması gerekir.

0 Cevap