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

    sottrarre elementi da due array

    avendo 2 array (con lo stesso numero di elementi) contenenti soltanto numeri, come posso dal primo elemento dell'array 1 sottrarre il primo elemento dell'array 2 e cosi via..

    Codice PHP:

    $array1 
    = array(479,11);
    $array2 = array(245,11);
    //risultato della sottrazione dall'array 1 all'array 2
    $risultato = array(234,0); 

    grazie

  2. #2
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    cicli con for con indice da 0 a lunghezza array - 1 e riempi un nuovo array con il risultato della differenza tra l'elemento n del primo e l'elemento n del secondo

  3. #3
    Utente di HTML.it L'avatar di ttcc
    Registrato dal
    Dec 2008
    Messaggi
    489
    Quote Originariamente inviata da cablos Visualizza il messaggio
    avendo 2 array (con lo stesso numero di elementi) contenenti soltanto numeri, come posso dal primo elemento dell'array 1 sottrarre il primo elemento dell'array 2 e cosi via..

    Codice PHP:

    $array1 
    = array(479,11);
    $array2 = array(245,11);
    //risultato della sottrazione dall'array 1 all'array 2
    $risultato = array(234,0); 

    grazie
    prova così:
    Codice PHP:
    foreach ($array1 as $key => $value) {
        if(
    array_key_exists($key$array2) && array_key_exists($key$array1))
            
    $risultato[$key] = $array1[$key] - $array2[$key];
    }

    print_r($risultato); 

  4. #4
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    In alternativa si potrebbe usare la funzione array_map:
    Codice PHP:
    $array1 = array(479,11);
    $array2 = array(245,11);
    $risultato array_map(function ($a,$b) {
        return 
    $a $b;
    }, 
    $array1$array2);
    print_r($risultato); 
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  5. #5
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    ma qui if(array_key_exists($key, $array2) la key e value no nhanno lo stesso valore o in questo caso prende key come indice a partire da 0 ?

  6. #6
    Utente di HTML.it L'avatar di ttcc
    Registrato dal
    Dec 2008
    Messaggi
    489
    Quote Originariamente inviata da cassano Visualizza il messaggio
    ma qui if(array_key_exists($key, $array2) la key e value no nhanno lo stesso valore o in questo caso prende key come indice a partire da 0 ?
    ???? non so se ho capito il quesito...

    le key devono essere uguali: 0,1,2,3,..... oppure a,b,c,d,.... o ancora mela, pera, banana,....

  7. #7
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    Scusa mi sono spiegato male.

    foreach ($array1 as $key => $value) {

    key in questo caso, non essendo impostato, è l'indice ?

  8. #8
    Si $key è l'indice, e $value è il valore associato a quel determinato indice, associato a sua volta a $array1.

  9. #9
    Utente di HTML.it L'avatar di ttcc
    Registrato dal
    Dec 2008
    Messaggi
    489
    Quote Originariamente inviata da cassano Visualizza il messaggio
    Scusa mi sono spiegato male.

    foreach ($array1 as $key => $value) {

    key in questo caso, non essendo impostato, è l'indice ?
    ,,,
    prova a creare un array inserendo solo valori poi fai un print_r(); vedrai che le key ci sono partendo da 0,1,2,,e cosi via....

  10. #10
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    Si capito grazie !

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.