Newsgroup: it.comp.www.php
Titolo: Stampa valore ARRAY

Ok ho risolto il mio problema precedente per il foreach ora...
la domanda e' questa
ho questo listato....
e ora invece di stamparmi le tre variabili $Nome $Cognome $Telefono
devo fargli stampare il valore che gli assegno
come se fosse la riga in cui si trova quel nome cercato
quindi esempio se cerco ciaoo3
mi deve stampare 2
ma nn so come..
:-|||||||||||||
$Ricerca="ciaoo3";
$Agenda[ciaoo][miaoo]["000000000000"]=0;
$Agenda[ciaoo2][miaoo2]["1111111111111"]=1;
$Agenda[ciaoo3][miaoo3]["2222222222222"]=2;
$Agenda[ciaoo4][miaoo4]["33333333333333"]=3;
foreach($Agenda as $Nome=>$Valore)
   {
       foreach($Valore as $Cognome=>$Valore2)
                  { foreach($Valore2 as $Telefono=>$Valore3)
                                    {  if (($Ricerca==$Nome) or
                                       ($Ricerca==$Cognome) or
                                       ($Ricerca==$Telefono))
	                        {Print("$Nome $Cognome $Telefono");}
                                     }
 
                       }
}
?>

$Ricerca="ciaoo3";
$Agenda[ciaoo][miaoo]["000000000000"]=0;
$Agenda[ciaoo2][miaoo2]["1111111111111"]=1;
$Agenda[ciaoo3][miaoo3]["2222222222222"]=2;
$Agenda[ciaoo4][miaoo4]["33333333333333"]=3;
foreach($Agenda as $Nome => $Valore) {
  foreach($Valore as $Cognome => $Valore2) {
    foreach($Valore2 as $Telefono => $Valore3) {
      if(
        ($Ricerca == $Nome) ||
        ($Ricerca == $Cognome) ||
        ($Ricerca == $Telefono)
      ) {
        print($Valore3);
      }
    }
  }
}
Comunque, memorizzare i dati in un array multidimensionale in questo
modo è scomodo, dovresti usare qualcosa tipo:
$agenda = array(
  array('nome' => 'ciao1', 'cognome' => 'miao1', 'telefono' =>
'111111', 'valore' => 1),
  array('nome' => 'ciao2', 'cognome' => 'miao2', 'telefono' => '222222,
'valore' => 2),
  array('nome' => 'ciao3', 'cognome' => 'miao3', 'telefono' =>
'333333', 'valore' => 3),
  ...
)
e poi recuperare tutto con qualcosa di simile:
foreach($agenda as $persona) {
  if(
    ($persona['nome'] == $ricerca) ||
    ($persona['cognome'] == $ricerca) ||
    ($persona['telefono'] == $ricerca)
  ) {
    print($persona['valore']);
  }
}
Ciao
Martino
del...@gmail.com
 ha scritto:


 modo è scomodo, dovresti usare qualcosa tipo:
[..]
mi intrometto..
ma non sarebbe meglio utilizzare un database?
-- 
www.iuz-lab.info

ehi ciao martinoo grazie mille per la risposta.. e per il codice
quindi questo cdice fa questo...
il foreach
entra nell'array assegna un valore alla variabile e cosi via per le
altre variabili
una volta che fa la ricerca su tutte le variabili arriva al valore3 e
li si fa il confronto
e se la variabile $Ricerca e' uguale almeno a una delle tre variabili
dell'arry
stampa la variabile $Valore3
una cosa mettendo stampa VALORE3 cosa succede?
nel senso la spiegazione e' questa..
al primo foreach $Valore e' cosi Ciaoo [miaoo]["000000000000"]
al secondo $Valore2 e' cosi miaoo ["000000000000"]
al terzo $Valore3 e' cosi 000000000000=3 ??
quindi se gli dico stampa $Valore3 .. mi stampa il 3?
ma perche? cioe ' qual'e il ragionamento che fa?

altra domanda..
se invece la mia variabile $Ricerca e' settata cosi $Ricerca=2
che corrisponde a questo array..
$Agenda[Ciaooo][Miaoooo]["1111111"]=2;
deve stamparmi Ciaoo Miaooo 1111111
se gli metto 0 nella $Ricerca mi stampa tutti i nomi che trova
se metto altri numeri. 0 1 o 3 nn stampa niente..
possibile che sono cosi tardona???

 ma non sarebbe meglio utilizzare un database?
O al limite un array di oggetti, ma di sicuro quel metodo e` il piu`
scomodo che abbia mai visto.
Bye.

ciao alessandro ^_^
bhe io me ne intendo poco e nn so cosa rispondere.. :P
pero' ripeto che questo esercizio mi serve solo per capire
come funzionano queste istruzioni
per entrare nella logica di php
quindi per il momento mi sto solo attendendo a cio' che mi viene
spiegato e poi al relativo compitino "fuffa"...
solo esclusivamente per capire come funziona il tutto
ovvio che, dopo che avro' piu input e sapro' usare php di sicuro faro'
un listato piu logico e costruttivo.

Ariciao..
ho risolto il mio problema dell'array
pero'
vorrei capire una cosa.. che nn mi entra nella testa...
e cioe...
se faccio cosi...
$Agenda[Simone][XXXXX]["323222"]=0;
$Agenda[David][TTTTTT]["89898989"]=1;
$Agenda[Daniela][FFFFF]["38989898"]=2;
$Agenda[Alessandro][CCCCCC]["89898989"]=3;
e faccio una ricerca su Simone... MI STAMPA SIMONE...
se faccio una ricera su David.. MI STAMPA SIMONE E DAVID
se faccio una ricerca su Daniela MI STAMPA SIMONE E DANIELA
se faccio una ricerca su Alessandro MI STAMPA SIMONE E ALESSANDRO..
se invece faccio cosi
$Agenda[Simone][XXXXX]["3434343"]="0";
$Agenda[David][TTTTTi]["89898989"]="1";
$Agenda[Daniela][TFFFFF]["39888989"]="2";
$Agenda[Alessandro][CCCCC]["8989898989"]="3";
e cerco Simone MI STAMPA SIMONE
se cerco David MI STAMA DAVID e cosi per gli altri..
Ho capito che uno e' un VALORE e L'ALTRO UNA STRINGA
pero' nn mi e' chiaro in parole povere e semplici..
perche nel primo caso fa quel tipo di stampa...
il tutto usando ovviamente il foreach..