Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Foreach?

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    38

    Foreach?

    Ciao a tutti, volevo chiedere una cosa che riguarda le matrici.
    Io ho 2 matrici con indici non consecutivi, ho quindi per esempio:
    A[1][1]
    A[1][2]
    A[3][1]
    A[3][2]
    A[7][1]
    A[7][2]

    e

    B[1][1]
    B[1][2]
    B[3][1]
    B[3][2]
    B[7][1]
    B[7][2]

    Vorrei sapere come ciclare tra di tali matrici per poterne modificare i valori.
    Cioe' se uso il ciclo for (dopo aver contato il numero di elementi con count) ho un errore perche' esegue solo 4 cicli dall'1 al 4, ovviamente tralascia il 7 e non esegue il conto. Se uso un foreach scandisce la lista completa, ma lavorando su una copia all'uscita del ciclo perdo i valori, io vorrei che modificasse anche i valori. In aggiunta con il foreach non riesco a ciclare contemporaneamente le 2 matrici, ma solo 1, mentre col for li posso ciclare entrambi usando gli indici.
    Sapreste aiutarmi?
    Saluti, Lord
    ...nel tutti contro tutti non ci sono squadre e alla fine quanto insipida sara' la gloria perche' e' una storia che rinnega madre e padre e sarai da solo sia nella sconfitta che nella vittoria!

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    Qualcosa tipo...

    Codice PHP:
    if (sizeof($A)!= sizeof($B))
    {
      echo (
    'Errore');
    }
    else
    {
    reset ($A); reset($B);
    while (list (
    $a_key$a_val) = each ($A)) ) {
      list (
    $b_key$b_val) = each ($B);
      
    // Calcola nuovi valori come $a_newval e $b_newval;
      
    $A[$a_key] = $a_newval;
      
    $B[$b_key] = $b_newval;
    };
    }; 
    Per lavorare su più dimensione basta annidare i cicli...

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    38
    E usando invece la funzione each si puo' modificare la matrice?
    ...nel tutti contro tutti non ci sono squadre e alla fine quanto insipida sara' la gloria perche' e' una storia che rinnega madre e padre e sarai da solo sia nella sconfitta che nella vittoria!

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    38
    Ho provato quanto dici, ma purtroppo funziona solo se il vettore ha 1 sola dimensione, ma con 2 ottengo che per ogni elemento di A scorre tutti gli elementi di B.
    Nessuna altra idea?
    ...nel tutti contro tutti non ci sono squadre e alla fine quanto insipida sara' la gloria perche' e' una storia che rinnega madre e padre e sarai da solo sia nella sconfitta che nella vittoria!

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.