Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    aiuto array associativo

    Salve a tutti. Mi sono appena iscritto a questo forum.
    Speriamo che mi sappiate aiutare sugli array associativi in php. Il problema che ho non è tanto creare un array associativo ma sull'esplorazione dello stesso e cercare di catturare delle informazioni all'interno di esso.
    Mi spiego meglio sul problema facendo un esempio.
    Ho il seguente array associativo
    $associazione=array( 'a'=>'ab' , 'b'=>'bb' , 'a'=>'abbb' );
    Vorrei trasformare il precedente array in questo modo
    $newassociazioni=array('a'=>array('ab','abbb'), 'b'=>array('bb'));
    Quello che devo fare è prendere la chiave e inserire il valore in un array, controllare se esistono altre chiavi con lo stesso valore e aggiungere il valore corrispondente all'array. Iterando il tutto ovviamente.
    HELP ME!!

  2. #2
    Un array non puo' - per ovvie ragioni - avere due chiavi uguali.

  3. #3
    in effetti non può, non avevo mai visto questi tipi di array e ho notato che non può contenere due chiavi con lo stesso valore.
    Bhe allora partiamo dall'inizio del problema.
    ho un database in cui vado ad estrarre dei valori (database, campo). visto che ho più elementi campo per database volevo creare un array che avesse la struttura:
    $associazioni=array('database1'=>array('campo1','c ampo2'),'database2'=>array('campo1','campo2')).
    codice:
    foreach ($arrayselect as $arrayselect1){
    $query="select * from associazioni where campoorigine='".$arrayselect1."'";
    $risultato=mysql_db_query($database,$query,$connessione);
    if ($risultato==FALSE) die("Errore nella composizione della query!");
    $r=mysql_fetch_row($risultato);
    $zero=$r[0]; //campo origine
    $uno=$r[1];  //database
    $due=$r[2]; //campodestinazione
    $associazioneselect[$uno]=$due;
    }
    In questo modo però succede che se nella query esistono più campi per il database, nell'array trovo solo l'ultimo elemento della query eliminando così i precedenti. Come posso fare per inserirli in un array se dalla query trovo altri elementi campo associati allo stesso database?

  4. #4
    Prova cambiando la riga
    codice:
    $associazioneselect[$uno]=$due;
    in
    codice:
    $associazioneselect[$uno][] = $due;
    anche se sarebbe meglio rivedere la query e farne una sola con tutti i valori, invece che tante una per valore; mysql_db_query inoltre - come da manuale PHP - e' obsoleta e deprecata.

  5. #5
    grazie mille..in effetti il consiglio che mi hai dato tu mi ha risolto molti problemi...
    Sul fatto dele query diciamo che il php l'ho visto circa 3-4 anni fa e quindi sono abbastanza rimasto indietro...dovrò fare un corso di aggiornamento

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 © 2025 vBulletin Solutions, Inc. All rights reserved.