PHP FOR문 활용법 문의드려요

PHP FOR문 활용법 문의드려요

QA

PHP FOR문 활용법 문의드려요

본문

<? 

   echo "<tr>\n";   
   echo "<td rowspan='4'>403</td>\n";
   for($i = 1; $i <= 5; $i++) {
    $totSUM_s[$i] = $sProduct_dio_s[$i];
    $totSUM_w[$i] = $sProduct_dio_w[$i];
    $totSUM_sw[$i] = $sProduct_dio_sw[$i]; 

    echo "<td class='$strClass'>".number_format($sProduct_dio_sw[$i],0)."</td>\n";
    echo "<td class='$strClass'>".number_format($sProduct_dio_s[$i],0)."</td>\n";   
    echo "<td class='$strClass'>".number_format($sProduct_dio_w[$i],0)."</td>\n";
   }   
   echo "</tr>\n";
   
   echo "<tr>\n";   
   for($i = 1; $i <= 5; $i++) {  
    $totSUM_s[$i] = $totSUM_s[$i] + $sProduct_wiz_s[$i];
    $totSUM_w[$i] = $totSUM_w[$i] + $sProduct_wiz_w[$i];
    $totSUM_sw[$i] = $totSUM_sw[$i] + $sProduct_wiz_sw[$i];   
    echo "<td class='$strClass'>".number_format($sProduct_wiz_sw[$i],0)."</td>\n";
    echo "<td class='$strClass'>".number_format($sProduct_wiz_s[$i],0)."</td>\n";  
    echo "<td class='$strClass'>".number_format($sProduct_wiz_w[$i],0)."</td>\n";
   }   
   echo "</tr>\n";

?>

 

 

2개의 FOR 문을 1개로 만들수는 없을까요??? 라인이 너무 길어지네요 . 관리하기도 어렵고요

배열변수만 다른데 가능할까요???

 

 

이 질문에 댓글 쓰기 :

답변 2


<?php
   $str1 = "";
   $str2 = "";
   $str1 .= "<tr>\n";   
   $str2 .= "<tr>\n";   
   $str1 .= "<td rowspan='4'>403</td>\n";
   for($i = 1; $i <= 5; $i++) {
    $totSUM_s[$i] = $sProduct_dio_s[$i];
    $totSUM_w[$i] = $sProduct_dio_w[$i];
    $totSUM_sw[$i] = $sProduct_dio_sw[$i]; 
    $str1 .= "<td class='$strClass'>".number_format($sProduct_dio_sw[$i],0)."</td>\n";
    $str1 .= "<td class='$strClass'>".number_format($sProduct_dio_s[$i],0)."</td>\n";   
    $str1 .= "<td class='$strClass'>".number_format($sProduct_dio_w[$i],0)."</td>\n";
    $totSUM_s[$i] += $sProduct_wiz_s[$i];
    $totSUM_w[$i] += $sProduct_wiz_w[$i];
    $totSUM_sw[$i] +=  $sProduct_wiz_sw[$i];   
    // 여기아래의 출력항목의 변수값을 합에 해당되는 내용으로 변경했습니다.
    $str2 .= "<td class='$strClass'>".number_format($totSUM_sw[$i],0)."</td>\n";
    $str2 .= "<td class='$strClass'>".number_format($totSUM_s[$i],0)."</td>\n";  
    $str2 .= "<td class='$strClass'>".number_format($totSUM_w[$i],0)."</td>\n";
   
   }   
   $str1 .= "</tr>\n";
   $str2 .= "</tr>\n";
   echo $str1;
   echo $str2;
?>

 

를 원하시는거죠?

 

그런데, 합계에 해당되는 내용을 출력하는게 매줄마다 나와야 하나요?

각 for문이 실행전

tr이 열리고 for문이 끝나면

tr이 닫기기 때문에 억지로 만들면되겠지만

오히려 가독성이 더 떨어질수 있습니다.

지금처럼의 방식으로 사용하시는게 더 보기도 쉬우니

불필요하게 1개로 만들필요성은 안보입니다.

 

답변을 작성하시기 전에 로그인 해주세요.
전체 113
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT