-
ajax활용 - 숫자를 한글로 표기하기 (php 언어)직장일기/알고리즘 공부 2021. 5. 19. 21:10
1단계: 1231 -> 일이삼일
algo01.html
<meta charset="utf-8"> <script src="//code.jquery.com/jquery-1.11.0.min.js"></script> <html> <body> <!-- 숫자를 한글로 바꾸기 1단계--> <form> <input type="number" name="num01"> </form> <button onclick="num_change()">숫자를 한글!</button> <p id="result"></p> <script> function num_change() { $.ajax({ url: "num_change.php", //input으로 들어온 값이 해당 주소로 이동 type: "get", // 타입설정 /* form에 있는 값들을 한 번에 전송하기 위해 .serialize()를 그렇지 않으면 하나씩 담아줘야해서 data가 많을 수록 코드가 길어짐(노가다) */ data: $('form').serialize() }) // HTTP 요청이 성공하면 요청한 데이터가 done() 메소드로 전달됨. .done(function(data) { $('#result').text(data); }); } </script> </body> </html>
num_change.php
<?php $numbox = str_split($_GET['num01']); //숫자를 한 개씩 배열로 저장 $i = 0; //while문 반복 횟수 설정을 위한 변수 $num_text = array('영', '일', '이', '삼', '사', '오', '육', '칠', '팔', '구'); //배열 안의 갯수를 반환하는 count()를 사용해서 while문이 몇 번 반복할지 정한다 while($i < Count($numbox) ){ //배열이름[위치] 방식을 이용해서 $numbox배열과 $num_text 배열을 이어준다 echo($num_text[$numbox[$i]]); $i++; } ?>
2단계: 1204 -> 일천이백사
algo01-2.html
<meta charset="utf-8"> <script src="//code.jquery.com/jquery-1.11.0.min.js"></script> <html> <body> <!-- 숫자를 한글로 바꾸기 2단계 --> <form> <input type="number" name="num02"> </form> <button onclick="num_change()">숫자를 한글!</button> <p id="result"></p> <script> function num_change() { $.ajax({ url: "num_change2.php", type: "get", data: $('form').serialize() }) .done(function(data) { $('#result').text(data); }); } </script> </body> </html>
num_change2.php
<?php $numbox = str_split($_GET['num02']); //넘어온 데이터를 배열로 만들기 $i = 0; $j = 1; //2차원 배열로 숫자단위와 숫자를 구별 $num_text = array( array('일', '이', '삼', '사', '오', '육', '칠', '필', '구'), array('', '십', '백', '천') ); while($i < Count($numbox) ){ //숫자를 샐 때 0의 자리는 세지 않으므로 0인 경우는 생략 if($numbox[$i] != 0){ echo($num_text[0][$numbox[$i]-1]); /* 자릿수 - 1을 해줘서 앞자리를 맞춰준다 배열은 [0]부터 시작을 해서 변수 j=1로 설정하고 1씩 빼면서 배열 자릿수를 맞췄다 */ echo($num_text[1][Count($numbox)-$j]); } $i++; $j++; } ?>
'직장일기 > 알고리즘 공부' 카테고리의 다른 글
백준 코딩 문제풀이 (0) 2021.05.20