php 배열 자릿수 마추기

php 배열 자릿수 마추기

QA

php 배열 자릿수 마추기

본문


function num_reverse() {
    if ( func_num_args()<1 ) return false;   // 함수 실행시 넘겨 받은 파라미터의 수가 적으면 리턴 처리
    $result = [];
    foreach ( func_get_args() as $key=>$num ) {  // 함수 실행시 넘겨받은 파라미터를 배열로 저장
        $num = (string)$num;  // 문자열 변환
        $len=strlen($num);   // 문자열 길이
        for ($i=0; $i<$len; $i++) {  
            $result[$key][] = $num[$i] * 10**($len-$i-1);  // 2차 배열로 저장
        }
    }
    return $result;
}
 
$arr = num_reverse(1234,234,34,4);
echo "<table border=1>";
echo "<tr><td>천의 자리</td><td>백의 자리</td><td>십의 자리</td><td>일의 자리</td></tr>";
foreach($arr as $key=>$val) {
echo "<tr align='center'>";
foreach($val as $key1=>$val1) {
echo "<td> {$val1}</td>";
}
echo "</tr>";
}
echo "</table>";


< 출력 결과 >
천의 자리 백의 자리 십의 자리 일의 자리
1000         200           30         4
200         30           4
30         4
4

< 원하는 출력 결과 >
천의 자리 백의 자리 십의 자리 일의 자리
1000         200           30         4
               200           30         4
                              30         4
                                          4
입니다

이 질문에 댓글 쓰기 :

답변 1

구현 방법은 다양한데 질문의 코드를 그대로 사용하겠다면

여기에 약간의 코드를 더해주면 원하는 형태로 출력됩니다.


echo "<table border=1>";
echo "<tr><td>천의 자리</td><td>백의 자리</td><td>십의 자리</td><td>일의 자리</td></tr>";
foreach($arr as $key=>$val) {
    echo "<tr align='center'>";
    $tds = array_fill(0, 4, '<td> </td>');
    foreach($val as $key1=>$val1) {
        $len = strlen($val1); // 1000>4, 200>3, 30>2, 4>1
        // if ( $len>4 ) continue; // 천 단위 초과 제외하려면 사용
        $tds[4-$len] = '<td>'.$val1.'</td>';
    }
    echo implode('', $tds); // implode($tds) 사용 가능하지만…
    echo "</tr>";
}
echo "</table>";

 

+ array_fill()

- https://www.php.net/manual/en/function.array-fill.php

- http://docs.php.net/manual/kr/function.array-fill.php

 

+ implode()

- https://www.php.net/manual/en/function.implode.php

- http://docs.php.net/manual/kr/function.implode.php

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

회원로그인

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