Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Ciclo FOR + IF

  1. #1

    Ciclo FOR + IF

    Devo eseguire un ciclo for solo se è verificata una certa condizione altrimenti il ciclo non deve essere eseguito.
    ho provato con

    if(verifico){
    for(;;{

    .......

    }


    if(verifico){
    } //chiudo la parentesi del for

    }


    ma il ciclo for non viene eseguito

  2. #2
    Se il ciclo non viene eseguito significa che la condizione dell'if è FALSE.
    Oppure dovresti postare il codice reale, magari c'è un errore
    PHP LEARN - Guide, tutorial e articoli sempre aggiornati
    NUOVO: standardLib; il potente framework PHP é ora disponibile
    *******************************************
    Scarica oggi la tua copia di MtxEventManager

  3. #3
    Utente di HTML.it L'avatar di r1cky`
    Registrato dal
    Feb 2007
    Messaggi
    432
    Prova a postare il codice completo, mi sembra strano

  4. #4
    Codice PHP:

    function People($id_package$id_room$id_treatment$days$inquire){
          
           
    $rm = new rooms();
           
    $pack = new packages();
           
           
    $build = new builds();
           
    $treatments_type $build->GetTreatments_type($id_room);

             foreach(
    $treatments_type as $treatment_type){

             if(
    $build->getTypeId() !== 1){
                 echo 
    "E' un hotel per num persone " $inquire->GetTotalPeople() ;
                 for(
    $i 1;$i<= $inquire->GetTotalPeople(); $i++){
             }
                  
    //echo "

    <u>(ROOM $id_room)</u>[b]Trattamento$treatment_type [/b]</p>";
                  unset(
    $this->id_reductions);
                  
    $this->SearchReduction($id_package$id_room,  $treatment_type$i$inquire->GetAgePerson($i));
                       
                  
    $treatments = $rm->GetBasePrice($id_package$id_room$treatment_type);

                    foreach(
    $this->id_reductions as $id_reduction){

                      if(
    $id_reduction !== 'NO'){
                           
    $this->GetInfo($id_reduction);
                           
    $price_adults[$treatment_type][$id_room] += $this->CalculatePriceTreatment($treatments['base_price'], $this->GetPrice(), $this->GetOperator());

                       }else{
                           
    $price_adults[$treatment_type][$id_room] += $treatments['base_price'];
                       }

                       
                   }
             if(
    $build->getTypeId() !== 1){
               }
             }
                       
                        
    $price_adults[$treatment_type][$id_room] = ($price_adults[$treatment_type][$id_room]) / (7) * ($days);
                        
    $inquire->SetPriceAdults($id_room$treatment_type$price_adults[$treatment_type][$id_room]);
         }
          
      
          
       } 
    La condizione è true perchè stampa la scritta "E' un hotel"

  5. #5
    cosa dovrebbe fare quel for se viene aperto ed immediatamente chiuso senza che esegua alcun codice?

    for($i = 1;$i<= $inquire->GetTotalPeople(); $i++){
    }

    diverso si scrive !=

    PHP LEARN - Guide, tutorial e articoli sempre aggiornati
    NUOVO: standardLib; il potente framework PHP é ora disponibile
    *******************************************
    Scarica oggi la tua copia di MtxEventManager

  6. #6
    No, la parte del ciclo for e tutto il resto.
    Siccome la parte centrale deve essere eseguita in ogni caso la condizione sta solamente all'apertura del for e un'altra alla sua } di chiusura

  7. #7
    secondo me PHP fa confusione con le graffe, come ovviare?

  8. #8
    Mah, io direi che TU fai confusione con le graffe.

    Come puoi pretendere che PHP capisca che quella graffa non è di chiusura dell'if ma è di chiusura del for?


    Prova ad usare un do..while che ti permette di eseguire sempre e comunque almeno una volta il contenuto del ciclo iterativo.... e poi eventualmente, in base alla condizione te la esegue più volte....

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.