데일리로그C:
article thumbnail
Published 2023. 6. 12. 12:33
기본1 기타/PHP

기본 규칙

<?php  ?> 로 시작(php 언어 시작) --> php 생략 가능

▶ 주석처리 // or ## or /* */ 로 사용 --> <? ?> 안에서만 먹힘

▶ 출력(out.print 등등) : echo 사용

 

변수명 규칙

$로 시작, $ 뒤에 오는 글자는 언더바 or 문자 써야함

<ex>
<?
$name //유효한 변수선언 
$_name //유효한 변수선언 
$nick_name //유효한 변수선언

nick_name //달러표시로 시작하지 않아 유효하지 않음
$1_name //첫문자 숫자사용으로 유효하지 않음 
$nick-name //특수문자사용으로 유효하지 않음
$nick_name more //빈칸이 포함되어 유효하지 않음
$this //$this는 특수 변수로, 할당할 수 없어 유효하지 않음
?>

 

변수 범위(전역변수, 지역변수)

--> 전역변수는 함수 내에서 사용 불가능

--> 전역변수를 함수 내에서 사용하기 위해선 global 전역변수명; 

--> 함수 내에서 변수를 초기화 및 선언 해야함

--> 함수 내에서 변수 초기화 및 선언 함 > 함수 다 돌았음 > 변수 삭제 가 반복됨

--> 변수 삭제가 안되고 유지되게 하려면 static를 변수에 붙여서 정적변수로 선언  (ex 변수 증가처리하고 싶을때)

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

<? 
$a = 10; // 전역변수

// 함수
function test() {
	echo $a; // 지역변수(아무것도 안뜸)
	echo "<br>";
	echo "adfadfadf"; // 값 뜨는지 확인하기 위해
}

test(); // test 함수 실행시키자

// 결과 : 아무것도 안뜸
// 함수 안의 지역변수와 바깥의 전역변수가 다른 변수로 인식하므로 선언만 한걸로 되기 때문에 값이 없음
?>

<hr>

<? 
function test2() {
	$a =2; // 함수 안에서 선언 & 초기화 함께 해야함
	echo $a;
	echo "<br>";

}

test2();

// 결과 : 2

?>

<hr>

<?
function test3() {
	global $a; // 함수 내에서 사용할 전역변수르 명시함(전역변수의 값을 가져오고 싶을떄 global 사용)
	echo $a;
}
test3();

// 결과 : 전역변수의 값인 10

?>

<hr>

<?
function test4() {
	static $b =0; //static 쓰면 값을 함수가 끝나도 유지될 수 있게 정적 변수로 선언
	echo $b;
	$b++;

}
test4(); // 0뜸
test4(); // 한번 더 실행해도 0임 --> why? 함수내 변수는 함수가 끝나면 삭제되므로
test4(); // static 쓰면 012처럼 1씩 증가함(함수 실행시킨만큼)

?>

 

문자열

--> " " : 문자열, 변수의 값 출력

--> ' ' : 문자열, 변수 자체를 출력

--> 변수+"문자열 형식이 아닌  변수."문자열 형식

--> 변수와 문자열 사이 띄어쓰기 없이 사용하고싶다면 방법1) 변수."문자열 or 방법2) {$변수}문자열

<!DOCTYPE HTML>
<html>
<head>
<title>test </title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style>
</style>
</head>

<body>
<?
// 변수선언 : $로 시작
$str = "hello"; 
$num = 1;

// 출력
// 변수 str을 출력해라 (변수와 문자열 함께 쓰는 경우 jsp에서는 +를 썼지만 php에서는 .(마침표)로)
echo '$str='.$str."<br>"; 
echo '$num='.$num."<br>";
echo 'hello $num='."hello $num<br>";
echo 'hello'."<br>";
echo 'hello $num'."<br>"; // 홀따옴표 안에 변수 넣으면 안먹음(변수 그대로 노출하고 싶을때 사용하면 될듯)

?>

<hr>

<? // = 대신 echo 사용할 수 있음 ?>
<?=$str?><br>
<?=$str;?><br>
<?echo $str?><br> 

<hr>

<?
$money = 1200;
echo "수입이 $money원 발생<br>"; // 출력안됨(원까지 변수로 인식하므로)
echo "수입이 ".$money."원 발생<br>"; // 문자열.변수.문자열 형식으로 쓰는 방법1
echo "수입이 {$money}원 발생<br>"; // 변수임을 알수 있게 중괄호 쓰는 방법2
?>

<hr>

<script language='php'>
	echo "php인가 스크립트인가"; // <?  ?> 과 동일한 기능임 
</script>

<hr>

</body>
</html>

 

 

참조, 비교, 논리, 형 연산자

--> &변수 : 참조

--> unset(변수) : 값 삭제

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

<?
//참조연산자
$a =5;
$b = &$a; // & : a값을 복사해라(참조해라)
$c = $a; // a값을 대입

$a = 7;
?>
a : <?=$a?><br> <? // 7 ?>
b : <?=$b?><br> <? // &를 붙힌 후 결과 값은 7임 ?>
c : <?=$c?><br> <? // 5 : a값을 대입이므로 영향 x ?>
<hr>

<?
unset($a); // $a 값이 없어짐
?>

a : <?=$a?><br>  <? // 값 없음 ?>
b : <?=$b?><br> <? // 7 ?>
c : <?=$c?><br> <? // 5 : a값을 단순히 대입이므로 영향x ?>
<hr>

<?
/* 비교연산자
== 두개 : 값 비교
=== 세개 : 타입, 값 비교
*/

$c = 1; // int
$d = true; // boolean(true =1, false =0 으로 대체됨)

if($c == $d){ 
	echo "값이 같다<br>";
} else {
	echo "값이 다르다<br>";
}

// 결과 : 값이 같다

if($c === $d){ 
	echo "타입과 값이 같다<br>";
} else {
	echo "타입과 값이 다르다<br>";
}

// 결과 : 타입과 값이 다르다
?>

<hr>

<?
// 형 연산자
$money = 1000000;
$m = 1234567.89;
?>

<?=$money?><br>
가격 : <?=number_format($money)?>
<input name="price" value="<?=$money?>"> <br>

<?=$m?><br>
가격 : <?=number_format($m,2)?>  <? // 소수점 2자리 표시 1234567.89?> <br>
가격 : <?=number_format($m,1)?>  <? // 소수점 1자리 표시(반올림 해서) 1234567.9?>
<input name="price" value="<?=$m?>"><br>

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

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

데일리로그C:

@망밍

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

profile on loading

Loading...