php 배열 자릿수 마추기 채택완료
찬돌이
4년 전
조회 1,553
</p>
<p>function num_reverse() {
if ( func_num_args()<1 ) return false; // 함수 실행시 넘겨 받은 파라미터의 수가 적으면 리턴 처리
$result = [];
foreach ( func_get_args() as $key=>$num ) { // 함수 실행시 넘겨받은 파라미터를 배열로 저장
$num = (string)$num; // 문자열 변환</p>
<p> $len=strlen($num); // 문자열 길이
for ($i=0; $i<$len; $i++) {
$result[$key][] = $num[$i] * 10**($len-$i-1); // 2차 배열로 저장
}
}
return $result;
}
</p>
<p>$arr = num_reverse(1234,234,34,4);</p>
<p>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개
채택된 답변
+20 포인트
4년 전
구현 방법은 다양한데 질문의 코드를 그대로 사용하겠다면
여기에 약간의 코드를 더해주면 원하는 형태로 출력됩니다.
</p>
<p>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</p>
<p> // if ( $len>4 ) continue; // 천 단위 초과 제외하려면 사용
$tds[4-$len] = '<td>'.$val1.'</td>';
}
echo implode('', $tds); // implode($tds) 사용 가능하지만…
echo "</tr>";
}
echo "</table>";</p>
<p>
+ array_fill()
- https://www.php.net/manual/en/function.array-fill.php
- http://docs.php.net/manual/kr/function.array-fill.php
+ implode()
로그인 후 평가할 수 있습니다
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인