Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    387

    Aggiungere elemento in un array

    CIao a tutti e buon anno!

    Supponendo che ho un array ($utente) cosi composto:

    codice:
    Array ( 
    [0] => Array ( [id_utente] => 2 [regione] => lombardia [provincia] => milano [comune] => milano )
    [1] => Array ( [id_utente] => 4 [regione] => lombardia [provincia] => monza e della brianza [comune] => caponago ) 
    )
    Io leggo questo array dento un ciclo foreach cosi simile:

    codice:
    foreach ($utente as $valore) {
    					
    $id_utente = $valore["id_utente"];
    $totaleSingoloUtente = 0; // resetto la variabile
    $commentiSingoloUtente = 0;
    $indicePersonale = 0;
    						
    $sql = "SELECT caratteristica01 FROM commenti WHERE id_utente = $id_utente";
    			
    $result = @$mysqli->query($sql);
    
    echo $mysqli->error;
    
    // controllo sul numero dei record coinvolti
    if(@$result->num_rows > 0) {
    						
    	while($row = mysqli_fetch_array($result)) {
    							
            $caratteristica01 = $row['caratteristica01'];
    	$totaleSingoloUtente = $totaleSingoloUtente+$caratteristica01;
    	$commentiSingoloUtente++;
    	$indicePersonale= round(($totaleSingoloUtente/$commentiSingoloUtente),1);
    								
    	} // while
    							
    } // if
    In maniera tale da calcolarmi la media (indice personale) di ogni singola persona in base ai commenti presi...

    Vorrei pero' inserire, in $utente (che è appunto l'array originale) in corripondenza del corretto indice (e quindi credo mi basti inserire l'istruzione subito sotto $indicePersonale, dentro il ciclo while) il suo appunto $indicePersonale, e avere quindi un array più corposo.

    Non so come procedere pero'..... potreste darmi una mano, per favore?

    Se ovviamente, dopo il calcolo di $indicePersonale, aggiungo semplicemente
    codice:
    $utente[$id_utente] = $indicePersonale;
    non ottengo quello che voglio....

    Grazie e ancora buon anno!

  2. #2
    Utente di HTML.it L'avatar di garakkio
    Registrato dal
    Dec 2011
    residenza
    Roma
    Messaggi
    480
    Io usere id_utente come chiave dell'array, invece di un progressivo.
    Comunque puoi anche lasciare così, ciclare nel foreach usando as $chiave => $valore invece che solo as $valore e usare $chiave per aggiungere tutto quello che vuoi.

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    387
    Grazie intanto,
    ci sto provando senza alcun successo pero'.... (una volta risolto pero' mi provo anche la strada dell'indice == id_user, in effetti potrebbe essere anche migliore)

    Una domanda: ma nell'array chiamiamolo "iniiziale", la devo aggiungere la chiave "indicePersonale"? devo quindi prevederla in qualche modo già dall'inizio? O no? Non credo, pero' chiedo....

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    387
    Niente.. sono impantanato garakkio...

    Quello che vorrei fare è passare da questo:

    codice:
    Array ( 
    [0] => Array ( [id_utente] => 2 [regione] => lombardia [provincia] => milano [comune] => milano )
    [1] => Array ( [id_utente] => 4 [regione] => lombardia [provincia] => monza e della brianza [comune] => caponago ) 
    )
    codice:
    Array ( 
    [0] => Array ( [id_utente] => 2 [regione] => lombardia [provincia] => milano [comune] => milano [media] => 5.5)
    [1] => Array ( [id_utente] => 4 [regione] => lombardia [provincia] => monza e della brianza [comune] => caponago [media] => 4.5 ) 
    )
    quindi aggiungere precisamente in corrispondenza dell'id corretto la propria media (o indicePersonale l'ho chiamato... cmq si intende sempre la stessa cosa)

    help

    EDIT: RISOLTO!

    bastava aggiungere...

    codice:
    $utente[$chiave]['indicePersonale'] = $indicePersonale;

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