Visualizzazione dei risultati da 1 a 7 su 7

Discussione: somma di variabili

Hybrid View

  1. #1
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,591
    ho fatto così e va
    for($L=3;$L<23;$L++) {
    for($J=3;$J<$L;$J++) {
    $somma1[$L] += $minuti_totali_[$J];
    }
    }
    grazie ad entrambi comunque

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Quote Originariamente inviata da telegio Visualizza il messaggio
    ho fatto così e va
    for($L=3;$L<23;$L++) {
    for($J=3;$J<$L;$J++) {
    $somma1[$L] += $minuti_totali_[$J];
    }
    }
    grazie ad entrambi comunque
    Gestisco ogni tanto alcuni programmatori. Se uno mi mostrasse un codice come il tuo lo manderei a quel paese.
    Già all'esecuzione tira fuori dei "Notice: Undefined offset" perché tenti di fare una somma in un posto di un array che non esiste.

    Codice PHP:
    $somma1[$L] += $minuti_totali_[$J]; 
    si puo' anche scrivere
    Codice PHP:
    $somma1[$L] = $somma1[$L] + $minuti_totali_[$J]; 

    Per ogni posto dell'array quando fai la prima assegnazione, la parte destra della riga ( $somma1[$L] ) non ha alcun valore ovvero il posto dell'array non esiste ancora.

    Per ovviare cio' puoi fare un ciclo che inizializza l'array finale tipo
    Codice PHP:
    $somma1 = array();
    for(
    $L=3;$L<23;$L++) {
     
    $somma1[$L] = 0;

    o

    Codice PHP:
    $somma1 = array();
    for(
    $L=3;$L<23;$L++) {
     if (!isset(
    $somma1[$L])) $somma1[$L] =0;
     for(
    $J=3;$J<$L;$J++) {
      
    $somma1[$L] += $minuti_totali_[$J];
     }


    Ma comunque non funziona.

    Codice PHP:
    for($J=3;$J<$L;$J++) 
    Se $L=3 allora non si entra nel for di sopra e di conseguenza $somma1[3] = 0 e tutti gli altri posti hanno un valore errato.

    Bisogna scrivere :
    Codice PHP:
    for($J=3;$J<=$L;$J++) 

    Penso si possa scrivere nel modo indicato da Alhazred e da KillerWorm.
    Codice PHP:
    $somma1 = array();
    $somma 0;
    foreach(
    $minuti_totali_ as $L => $m)
    $somma += $m;
     
    $somma1[$L] = $somma;


    L'esperienza mi ha insegnato che quando si comincia a scrivere codice complicato per risolvere un problema tutto sommato semplice significa che si è sulla strada sbagliata e che bisogna ripartire da 0.
    L'esperienza mi ha insegnato anche che quando c'è un codice funzionante più semplice del mio me lo segno, e ne adopero la tecnica.
    Si migliora cosi.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

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.