데일리로그C:
article thumbnail
Published 2023. 6. 13. 11:50
기본4 기타/PHP

문자열 db 관련 함수

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<?
echo "addslashes() : 따옴표 여러개가 들어가는 경우 오류를 방지해 \처리해주는 역할<br>";

//$title 변수를 게시판 제목에 해당하는 칼럼에 넣을 경우로 가정
$title = "i'm a boy";
$query = '$title';
//mysql_query($query);

// 'i'm a boy' (작은 따옴표가 3개)로 오류 뜸
?>

<?
// 위 오류 해결 방안(escape : 내부에 위치하는 따옴표를 다르게 표현시키는 것)
$title = "i'm a boy";
$title2 = addslashes($title); //escape 처리 
//$query = "insert into bbs (title) values ('$title')";

echo $title2; // i\'m a boy 형식으로 db에 insert됨
?>

<br><hr><br>

<?
echo "stripslashes() : addslashes로 \처리했던 걸 다시 제거해주는 역할<br>";

//$query = "select title from bbs";
//$result = mysql_query($query);
//$row = mysql_fetch_array($result);
//$title = stripslashes($row[title]); 

$titlestrip = stripslashes($title2);

echo $titlestrip."<br>"; // i'm a boy 형식으로 select 되어짐
?>

<br><hr><br>

<?
echo "htmlspecialchars() : html 소스 그대로 출력할때 사용";
//태그 사용 불가 처리
$titlehtml = htmlspecialchars($titlestrip); 
echo $titlehtml."<br>";
?>

<br><hr><br>

<?
echo "nl2br() : 개행처리 백슬러시n을 br로 대체<br>";
//개행처리 : \n을 <br> 대체
$comment = "첫번째 줄 내용\n 두번째 줄 내용";
$comment2 = "첫번째 줄 내용<br>두번째 줄 내용";
$commentresult = nl2br($comment); 
echo "백슬러시n 사용 : <br>".$comment."<br>========<br>";
echo "nl2br 사용 : <br>".$commentresult."<br>========<br>";
echo "br태그 사용 : <br>".$comment2;
?>

 

숫자 관련 함수

<?
//rand 함수
echo "random : " . rand(0,10); //0에서 10사이의 숫자 1개를 반환한다.
?>
<hr>

<?
// range 함수
$num = range(1,5); //1 ~ 5

/* 위의 예제 배열 출력구문
$num[0] = 1;
$num[1] = 2; 
$num[2] = 3; 
$num[3] = 4; 
$num[4] = 5; 
*/
?>
<hr>
<?
// shuffle 함수
shuffle($num); //배열 변수를 랜덤하게 뒤섞는다

//$num 배열 변수를 출력해 보자

count($num); //$num 변수의 길이 값 



for($j=1; $j<=count($num); $j++) {

	echo $num[$j]."<br>";

}

?>

 

문자열 관련 함수

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<?
echo "문자열 길이<br>";
// strlen(문자열)
$str_eng = "abcdef";
$str_kor = "가나다";

echo "영어 : ".strlen( $str_eng ).'<br/>'; //6
echo "한글 : ".strlen( $str_kor ).'<br/>'; //9(한글은 한글자씩 3byte씩)


// 파일 인코딩이 UTF-8인 경우에 해당
// mb_strlen(문자열, 인코딩)
echo "영어 : ".mb_strlen( $str_eng , "UTF-8" ).'<br/>'; //6
echo "한글 : ".mb_strlen( $str_kor , "UTF-8" ).'<br/>'; //3
?>

<br><hr><br>

<?
echo "문자열 자르기<br>";
$str = "abcdefg 123 hijk 4567 lmn";
$str2 = "abcdefg 가나다 hijk 라마바사 lmn";

//영문,숫자 자를 때
echo substr( $str , 0, 10 )."<br>"; //abcdefg 12
echo substr( $str , 4 )."<br>"; //efg 123 hijk 4567 lmn 

//한글 포함 자를 때
echo mb_substr( $str2 , 0, 10 , "utf-8"); //abcdefg 가나
?>

<br><hr><br>

<?
echo "문자열 비교<br>";
//strcmp( 1번문자열 , 2번문자열 )

$str1 = "hello";
$str2 = "hello";

// 1번째 방법
if(strcmp( $str1 , $str2 ) == 0){
	echo "1: 두 변수의 값이 같다.<br>";
}else{
	echo "1: 두 변수의 값이 같지 않다.<br>";
}



// 2번째 방법 
if( !strcmp( $str1 , $str2 ) ){ //두 변수의 값이 같다면 false , ! 선언하면 true
	echo "2: 두 변수의 값이 같다.<br>";
}else{
	echo "2: 두 변수의 값이 같지 않다.<br>";
}

// 3번째 방법 
if($str1 == $str2){
	echo "3: 두 변수의 값이 같다.<br>";
}else{
	echo "3: 두 변수의 값이 같지 않다.<br>";
}

//결과 : 두 변수의 값이 같다.
?>

<br><hr><br>

<?
echo "문자열 분할<br>";
$str = 'one two three four';
$str1 = explode( ' ', $str );

count($str1); //4
for($i=0; $i<count($str1); $i++){
	echo $str1[$i]."<br>";
}

/* 결과 값
$str1[0]은 one
$str1[1]은 two
$str1[2]는 three
$str1[3]는 four
*/


$str2=explode( ' ', $str, 3 );

/* 결과 값
$str2[0]은 one
$str2[1]은 two
$str2[2]는 three four
*/

?>

<br><hr><br>

<?
echo "소수점 처리<br>ceil() : 올림 // floor() : 버림 // round() : 반올림<br>";

$num = 36.5;

$r1 = ceil($num); //37
$r2 = floor($num); //36
$r3 = round($num); //37

echo "36.5의 ceil() 올림 : ".$r1."<br>";
echo "36.5의 floor() 버림 : ".$r2."<br>";
echo "36.5의 round() 반올림 : ".$r3."<br><br>";

$num2 = 36.2;

ceil($num2); //37
floor($num2); //36
round($num2); //36

echo "36.2의 ceil() 올림 : ".ceil($num2)."<br>";
echo "36.2의 floor() 버림 : ".floor($num2)."<br>";
echo "36.2의 round() 반올림 : ".round($num2)."<br><br>";


$num3 = 36.277;
round($num3, 1); //소수점 한자리 표현 : 36.3

echo "36.277의 round() 소수점 한자리 표현 : ".round($num3, 1)."<br>";
?>

<br><br>

 

 

'기타 > PHP' 카테고리의 다른 글

프로젝트  (0) 2023.06.13
기본3  (0) 2023.06.12
기본2  (0) 2023.06.12
기본1  (0) 2023.06.12
설치&설정  (0) 2023.06.12
profile

데일리로그C:

@망밍

포스팅이 도움됐다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

profile on loading

Loading...