2016-10-17 8 views
0

내부의 IF 문으로 foreach 루프를 실행하려고합니다. 해당 $ workupID ($ nextupdate)에 각 $ ex를 삽입 할 수 있도록 $ nextupdate의 값을 유지하려고합니다. IF 문은 foreach 루프가 처음 실행될 때와 별개로 실행되지 않으므로 첫 번째 루프 이후에 $ nextupdate 값을 잃게됩니다. 그렇다면 처음으로 $ nextupdate의 현재 값을 어떻게 유지할 수 있습니까? 감사합니다.이 foreach 루프/if 문 내에서 변수 값을 유지하는 방법

if($check == 0){

$ nextUpdate의의 값은 유지해야합니다

$check = 0; 
$nextupdate = 0; 

foreach($exer->results() as $ex){ 
    //echo $ex->Name."<br/>"; 
    //$curId = $ex->ExerciseID; 
    //$sql2 = "SELECT * FROM exercises WHERE ExerciseID = ".$curId; 
    //$details = DB::getInstance()->query($sql2); 

    //print_r($details); 
    //echo $details->results()[0]->StartReps; 
    //$reps = $details->results()[0]->StartReps; 
    //echo $details->results()[0]->StartSets; 
    //echo $details->results()[0]->StartWeight; 
    //echo "<br>"; 

    if($check = 0){ 
     $sql = "SELECT * FROM workoutexercises ORDER BY WorkoutID DESC LIMIT 1"; 
     $recentworkout = DB::getInstance()->query($sql); 
     $updateworkout = $recentworkout->results()[0]->WorkoutID; 
     $nextupdate = $updateworkout + 1; 
     $check = 1; 
     echo $nextupdate; 
    } 

    $sql = "INSERT INTO workoutexercises (ExerciseID, WorkoutID) VALUES (".$curId.",".$nextupdate.")"; 
    DB::getInstance()->query($sql); 
} 
?> 
+2

IF 문에서 "$ check == 0"을 사용하고 "$ check = 0"을 사용하면 "$ check"의 값이 항상 0으로 변경되며 항상 true가 반환됩니다. – Okba

+0

오 와우가 내 문제를 해결했습니다! 고마워요! – Andy

답변

1
처럼 이중 등호를 사용하는 "경우"내부 수표를 변경

. 거기에 아무런 문제가 없습니다.

+0

그래, 그것을 해결! 도움을 주셔서 감사합니다 :) – Andy

+0

@ 앤디 그것이 도움이된다면 그것을 허용 대답으로 표시 고려하십시오. –

0

==를 사용하도록 if 문을 변경하면 double == 대신 double ==를 사용합니다. 원하는 경우 코드가 작동해야합니다.

$check = 0; 
$nextupdate = 0; 

foreach($exer->results() as $ex){   
    if($check == 0){ 
     $sql = "SELECT * FROM workoutexercises ORDER BY WorkoutID DESC LIMIT 1"; 
     $recentworkout = DB::getInstance()->query($sql); 
     $updateworkout = $recentworkout->results()[0]->WorkoutID; 
     $nextupdate = $updateworkout + 1; 
     $check = 1; 
     echo $nextupdate; 
    } 

    $sql = "INSERT INTO workoutexercises (ExerciseID, WorkoutID) VALUES (".$curId.",".$nextupdate.")"; 
    DB::getInstance()->query($sql); 
} 
?> 
+0

내 문제를 해결했습니다. 감사합니다. – Andy