Array e funzioni

Salve a tutti...

Ho un problema con l'utilizzo degli array. Non mi perdo in chiacchere e riporto un codice di esempio (non fate caso a quello che scrivo, non sono un tipo fantasioso):

// Array
$frutta = array ( 


     "mela"  => array ( "nome" => "Mela",
                            "descrizione" => "Frutto verde, giallo o rosso",
                            "link" => "mela.php"
                          ),
                              
     "arancia"  => array ( "nome" => "Arancia",
                       "descrizione" => "Frutto arancione",
                       "link" => "arancia.php"
                     ), 
                           
     "nocedicocco"  => array ( "nome" => "Noce di cocco",
                         "descrizione" => "Buono il cocco!",
                         "link" => "cocco.php"
                       )
);

Questo è l'array che ho definito. I problemi che devo affrontare sono due.

Primo problema:

prima di tutto utilizzare la funzione in_array per capire se l'elemento che scrivo è presente nella lista. La lista a cui mi riferisco è unicamente: mela, arancia, nocedicocco

quindi se scrivo nocedicocco dovrebbe trovarmelo, se scrivo Noce di cocco no, e così tutti gli altri termini interni.

Ho provato con

if ( in_array ("mela", $frutta))
   echo "Trovato!";

ma non funziona, come se mela non appartenesse all'array della frutta.

Spero di essermi spiegato per questo primo problema....

Secondo problema:

Creare una lista di collegamenti in cui appaia nome e link di ogni frutto.

In pratica il codice dovrebbe restituirmi questo:

<a href="mela.php">Mela</a>
<a href="arancia.php">Arancia</a>
<a href="cocco.php">Noce di cocco</a>

So che dovrei fare con count e utilizzando for però non riesco a prendere quegli elementi specifici dell'array.

Grazie mille per l'aiuto.

Giuliano

inviato 8 anni fa
NeO_Giu
X 0 X

primo problema: devi usare array_key_exists al posto di in_array

secondo problema: prova con un foreach

foreach($frutta as $frutto) {
   echo '<a href="' . $frutto["link"] . '.php">' . $frutto["nome"] . '</a>';
}

 :bye:

risposto 8 anni fa
Gianni Tomasicchio
X 0 X

primo problema: devi usare array_key_exists al posto di in_array

secondo problema: prova con un foreach

foreach($frutta as $frutto) {
   echo '<a href="' . $frutto["link"] . '.php">' . $frutto["nome"] . '</a>';
}

 :bye:

Grazie mille...

Funziona perfettamente anche se riguardo il primo problema in questo modo lo script riconosce come elemento dell'array anche ciò che è dentro i singoli array (mela, arancia...).

Non c'è un modo per far cercare esclusivamente nel primo array e quindi restituire TRUE esclusivamente con mela, arancia e nocedicocco?

risposto 8 anni fa
NeO_Giu
X 0 X
riguardo il primo problema in questo modo lo script riconosce come elemento dell'array anche ciò che è dentro i singoli array (mela, arancia...).

ne sei sicuro? io non credo...

 :bye:

risposto 8 anni fa
Gianni Tomasicchio
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda