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

1. 기본 규칙

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

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

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

 

2. 변수명 규칙

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

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

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

 

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

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

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

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

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

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

<bash />
<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씩 증가함(함수 실행시킨만큼) ?>

 

4. 문자열

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

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

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

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

<bash />
<!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>

 

 

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

--> &변수 : 참조

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

<bash />
<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:

@망밍

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