Visualizzazione dei risultati da 1 a 3 su 3

Discussione: funzioni di array

  1. #1

    funzioni di array

    immaginiamo di avere un array multidimensionale sconosciuto.
    l'unica cosa che sappiamo e' che esso e' strutturato come a cartelle:

    $root = array
    (
    'cartella 1' => array(),
    'cartella 2' => array(),
    'file 1' => array( 1, 12 )
    )

    $root['cartella 1'] = array
    (
    'cartella 3' => array()
    'file 2' => array( 45, 2333 )
    )

    e così via.

    a questo punto, mi servirebbe una funzione che gli passo una location e lui mi dice se esiste e me la restituisce. ossia:

    mia_funzione ( $root, 'cartella 1/file 2' )

    deve restituire l'array( 45, 2333 )


    e' un indovinello sfizioso non trovate?
    si vivono molte vite e si muore una volta sola

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    1,141
    prova così:
    Codice PHP:
    $root 'il tuo array';
    $par 'cartella 1/file 2';

    function 
    Cartella($root,  $par)
    {
        
    $varExp explode('/',$par);
        
    $var implode(',',$root[$varExp[0]][$varExp[1]]);    
        return 
    $var;
    }

    echo 
    " Valore cartella :".Cartella($root,$par); 
    ciao

  3. #3
    il problema e' che non sappiamo a quale livello di sottocartelle puo' fermarsi l'array...eheheheh

    io ho fatto così:

    function _get_location( $mappa, $location )
    {
    $path = '';
    foreach( $location as $item ) $path .= "['".$item."']";
    return eval ( ' return $mappa'.$path.';' );
    }

    e la chiamo così:

    $mia_location = _get_location( $mia_mappa, array('cartella 1','sub 1','sub 2','etc') );

    solo che come dice un mio amico...EVAL = EVIL...
    si vivono molte vite e si muore una volta sola

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.