Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Inserimento dati in array di array

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,056

    Inserimento dati in array di array

    Ho un array, che definisco inizialmente:
    codice:
    $pricepagelist = [];
    ed una variabile di controllo:
    codice:
    $checklist = "";
    Quindi eseguo una query, ed una serie di controlli, arrivando infine all'inserimento dei dati:
    - nella variabile:
    codice:
    $checklist .= "idh ".$idh." -> ido ".$idoff.",";
    - e nell'array:
    codice:
    $pricepagelist = [$idh];
    $pricepagelist[$idh] = [$idoff];
    Il risultato, però, è che mentre la variabile $checklist mi registra correttamente tutti i dati (ad esempio: idh 111 -> ido 2649,idh 111 -> ido 2361,idh 70 -> ido 2058), l'array
    $pricepagelist registra solamente l'ultimo dato (ad esempio: Array ( [0] => 70 [70] => Array ( [0] => 2058 ) ) )
    Ovviamente, l'inserimento dei dati nella variabile e nell'array, così come indicato prima, avviene nella medesima posizione, uno dopo l'altra.
    Allora perchè l'array registra solo l'ultimo valore?
    metatad
    graphic & web design

  2. #2
    Quote Originariamente inviata da metatad Visualizza il messaggio

    Allora perchè l'array registra solo l'ultimo valore?
    Perché l'istruzione:

    Codice PHP:
    $pricepagelist = [$idh]; 

    Sovrascrive l'intero array ad ogni ciclo.



    Edit:
    Se ho capito quello che vorresti fare, la sintassi corretta è:

    Codice PHP:
    $pricepagelist[]=$idh
    Ultima modifica di lucavizzi; 10-12-2017 a 18:05

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,056
    Perfect! Grazie...
    metatad
    graphic & web design

  4. #4
    Prego.
    Comunque non credo ti serva la doppia assegnazione:
    Codice PHP:
    $pricepagelist[] = $idh;

    $pricepagelist[$idh] = [$idoff]; 



    Io farei un unica assegnazione (senza wrappare $idoff in un array):
    Codice PHP:
    $pricepagelist[$idh] = $idoff

    di modo che ciclando l'array $pricepagelist hai già le variabili valorizzate:
    Codice PHP:
    foreach($pricepagelist as $idh=>$idoff){




    Se poi vuoi recuperare separatamente i vari $idh o $idoff, puoi usare:
    Codice PHP:
    $IDHs=array_keys($pricepagelist);

    $IDOFFs=array_values($pricepagelist); 

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,056
    Doppiamente perfetto, doppiamente grazie! :-)
    metatad
    graphic & web design

Tag per questa discussione

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