Visualizzazione dei risultati da 1 a 7 su 7

Discussione: unire 2 array

  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2004
    Messaggi
    111

    unire 2 array

    Buon giorno,

    il mio problema è il seguente:

    2 array strutturati in questo modo:


    $adulti=Array
    (
    [1] => Array
    (
    [4] => 160
    )

    [2] => Array
    (
    [4] => 320
    )

    )

    $bambini=Array
    (
    [1] => Array
    (
    [4] => 172
    )

    [2] => Array
    (
    [4] => 80
    )

    )

    dovrei fare in modo di unirli in base alla prima chiave per sommare i valori

    Es:

    160+172
    320+80

    è possibile fare questo e come?

    Grazie

  2. #2
    Utente di HTML.it L'avatar di neroux
    Registrato dal
    Aug 2009
    Messaggi
    1,973
    hai provato array_merge()

    www.sitemeer.com » Quando un sito pare irraggiungibile

    Se ti piace ci puoi trovare anche su Facebook

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2004
    Messaggi
    111
    veramente non devo correre rischi di elimirare un valore, devo sommare i dati

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2004
    Messaggi
    111
    un nuovo array tipo:

    $somma=array([1]=>332, [2]=>400);

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2004
    Messaggi
    111
    scusate ho sbagliato



    $somma=Array
    (
    [1] => Array
    (
    [4] => 332
    )

    [2] => Array
    (
    [4] => 400
    )

    )

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2004
    Messaggi
    111
    sono riuscito a mettere gli array aventi la stessa chiave insieme

    Codice PHP:
    <?php 
    $adulti
    =array("1" => array("4" => 160),"2" => array("4" => 320));

    $bambini=array("1" => array("4" => 172),"2" => array("4" => 80));



    for(
    $a=1;$a<=2;$a++){
        
        foreach(array(
    $adulti$bambini) as $test){
            
            
            
            
    //echo $key;
             
    foreach($test as $k=>$valore){
                 
                 
                 if(
    $k==$a){
                     
    $arr[$a]=$valore;
                 }
             }

            
        }
        
        
    }

    print_r($arr);
    ?>
    ora mi manca il passaggio per sommare i valori:

    160+172
    320+80

    Come si può fare?

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2004
    Messaggi
    111
    credo di aver risolto, riporto il codice

    Codice PHP:
    <?php 
    $adulti
    =array("1" => array("4" => 160),"2" => array("4" => 320));

    $bambini=array("1" => array("4" => 172),"2" => array("4" => 80));


    for(
    $a=1;$a<=2;$a++){
        
        foreach(array(
    $adulti$bambini) as $test){
            
             foreach(
    $test as $k=>$valore){
                 
                 
                 if(
    $k==$a){
                     
    $arr[$a][]=$valore;
                 }
             }

            
        }
        
        
    }





    foreach(
    $arr as $numStanza=>$arraVal){
        
        
        foreach(
    $arraVal as $Key=>$ArrvalueCost){
            foreach(
    $ArrvalueCost as $tipoCam=>$valueCost){
                
                
    $arrSo[$numStanza][$tipoCam][]=$valueCost;
            }
        }
        
        
        
    }




    foreach(
    $arrSo as $numStanza=>$arrV){
        foreach(
    $arrV as $k=>$v){

            
    $somma[$numStanza][$k]= @array_sum($v);
            
        }
    }

    print_r($somma);

    ?>

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.