Computer >> 컴퓨터 >  >> 프로그래밍 >> PHP

PHP foreach 루프로 조건에 맞는 값만 변환해 출력하는 방법

다음과 같은 점수 배열이 있다고 가정해 보겠습니다.

$marks=[45,67,89,34,98,57,77,30];

이 배열에서 40점 미만인 값만 2배로 곱하고, 나머지 값은 그대로 유지한 채 아래와 같은 결과를 얻고 싶습니다.

45
67
89
68
98
57
77
60

즉, 34와 30만 각각 2를 곱해 68과 60으로 변경되고, 나머지 요소는 원래 값 그대로 출력됩니다.

예제 코드

foreach 루프 안에 if 조건문을 사용하면 특정 조건을 만족하는 요소만 선택적으로 처리할 수 있습니다. 전체 코드는 다음과 같습니다.

<!DOCTYPE html>
<html>
<body>
<?php
    $marks=[45,67,89,34,98,57,77,30];
    echo "The Marks are as follows","<br>";
    foreach($marks as $tempMarks){
       if($tempMarks < 40){
          $tempMarks=$tempMarks*2;
       }
       echo $tempMarks,"<br>";
    }
?>
</body>
</html>

코드 설명

  • foreach($marks as $tempMarks) : 배열의 각 요소를 순서대로 $tempMarks 변수에 담아 반복합니다.
  • if($tempMarks < 40) : 현재 값이 40보다 작은지 검사합니다.
  • $tempMarks = $tempMarks * 2 : 조건을 만족하면 해당 값을 2배로 변경합니다.
  • echo $tempMarks : 처리된 최종 값을 화면에 출력합니다.

실행 결과

위 코드를 실행하면 다음과 같은 출력이 생성됩니다.

The Marks are as follows
45
67
89
68
98
57
77
60

이처럼 foreach 루프와 조건문을 조합하면 배열 전체를 일괄 처리하는 것이 아니라, 원하는 조건에 맞는 요소만 골라 가공할 수 있습니다. 이 방식은 성적 보정, 데이터 필터링 등 실무에서도 자주 활용되는 패턴입니다.