Array bidimensionale scalena

Fabrizio Fiorita

Utente Attivo
Buonasera.
Ho il seguente problema.
Ho una serie di elementi, tutti diversi tra loro ma raggruppabili in categorie; ciascuna categoria ha un numero di elementi diverso.
Data una variabile, devo individuare se la variabile corrisponde ad uno degli elementi.
In caso negativo mi serve un return(FALSE).
In caso positivo mi serve il nome della categoria in cui l'elemento si trova.
Ho provato a creare un array bidimensionale ed a fare una ricerca ricorsiva con array_search(), ma non riesco a far uscire dalla funzione il nome della categoria.
Tutta la manualistica, compresi i vari forum in rete, oltre ad essere piuttosto scarna sull'argomento, riporta il solito esempio di array bidimensionale completa ripetitiva, per cui non ne ho avuto grande aiuto.
Qualcuno ha un'idea?
Grazie.
 
Buongiorno,
hai provato con in_array() ?

se non ho capito male, questo potrebbe essere un esempio
PHP:
<?php

$array = array(
    "categoria1" => array("el1", "el2", "el3"),
    "categoria2" => array("el4", "el5")
);

function searcArray($array, $element) {

    foreach ($array as $key => $value) {
        if (in_array($element, $value)) {
            return $key;
        }
    }
    return false;
}

$check = searcArray($array, "el4");

var_dump($check);
?>
 
Criric ti ringrazio sentitamente: il tuo schema, con gli opportuni adattamenti alle mie variabili, ha funzionato perfettamente alla prima botta!
Ne ho approfittato per migliorare l'output su schermo, che ora mi risulta più semplice.
Ciao, alla prox. :quote:
 

Discussioni simili