tcpschool.com/php/php_basic_constants
해당 부분을 참고해서 블로그글을 정리하고 있다.
<html>
<body>
echo "Hello world chicken";
<?php
echo "Hello world";
?>
</body>
</html>
php는 키워드 클래스 함수 사용자 함수이름의 대소문자를 구분하지 않는다.
변수 정의하기
php는 자바스크립트와 유사하게 변수를 선언할 때 타입을 따로 명시하지 않는다.
$를 붙여서 변수를 정의한다.
변수의 타입을 조회할때는 var_dump를 사용해서 변수를 조회한다
<?php
$num = 10;
echo $num;
?>
변수를 붙여서 사용할때 + 가 아닌 .을 붙여서 사용한다
<html>
<body>
<?php
echo "Hello world\n";
$num = 10;
echo $num."\n";
var_dump($num);
?>
</body>
</html>
"" 안에서 변수를 사용하기 위해서는 {} 안에 변수를 넣어서 명시를 해주면 된다.
(echo "$num")등 이름뒤에 아무런 문자도 나오지 않으면 크게 상관이 없다.
<html>
<body>
<?php
$num = 10;
echo "변수 \$num 에 저장된 값은 {$num}입니다."
?>
</body>
</html>
php의 변수는 크게 세가지로 나뉘어져 있다
1. 지역 변수
함수 내부에서만 접근 가능하다
<html>
<body>
<?php
function helloNum(){
$num = 10;
}
helloNum();
echo $num // 접근이 불가능하다
?>
</body>
</html>
2. 전역 변수
전역변수는 php 에서 조금 특이했다. 전역변수를 함수 내부에서 사용해주려면
global 변수이름;
$GLOBALS['변수'];
방식으로 전역변수를 명시해줘야 전역변수가 사용이 가능하다.
<html>
<body>
<?php
$num = 10;
function helloNum(){
echo "함수 내부에서 호출한 전역 변수 num의 값은 {$num}입니다 <br>";
global $num;
echo "함수 내부에서 호출한 전역 변수 num의 값은 {$num}입니다 <br>";
echo "함수 내부에서 호출한 전역 변수 num의 값은 {$GLOBALS['num']}입니다.<br>";
}
helloNum();
echo "함수 외부에서 호출한 전역 변수 num의 값은 {$num}입니다";
?>
</body>
</html>
3. 정적 변수
함수가 종료되더라도 정적변수는 메모리상에서 사라지지 않는다.
지역변수와 같이 함수 내부에서만 접근이 가능하다 .
<html>
<body>
<?php
function helloNum(){
static $num = 0;
echo "함수 내부에서 호출한 static 변수 num의 값은 {$num} 입니다.<br>";
$num++;
}
helloNum();
helloNum();
helloNum();
helloNum();
?>
</body>
</html>
변수의 자료형
- string 문자열
- integer 정수
- float 실수
- boolean (false, 0, 0.0, "", "0", [], null 은 모두 false로 인식한다)
- array 배열
- object 객체, 클래스의 인스턴스 저장
- null 초기화 하지 않거나 삭제되거나 존재하지 앟는 변수를 참조할때
- resource php에 존재하는 외부 자원, DB연결 반환등에 사용
상수
데이터가 한번 선언되면 데이터를 변경하거나 해제할 수 없다.
define(상수이름, 상수값, 대소문자구분)
<html>
<body>
<?php
define("chicken", "치킨은 맛있다.<br>");
echo Chicken; //대소문자가구분이 활성화 되어있어 Chicken이 출력된다
echo chicken;
define("pork", "돼지고기는 맛있다.<br>", true); //대 소문자를 구분하지 않음
echo pork;
echo Pork;
?>
</body>
</html>
마법상수
해당과 같이 PHP에서는 8개의 마법 상수를 제공한다
상수이름 | 설명 |
__DIR__ | 파일의 디렉터리를 반환 |
__FILE__ | 파일의 전체 경로와 이름을 반환 |
__LINE__ | 파일의 현재 줄번호 반환 |
__CLASS__ | 클래스의 이름을 반환, 대소문자구분 |
__TRAIT__ | 트레이트의 이름을 바환 (네임스페이스 포함) |
__METHOD__ | 클래스의 메소드 이름을 반환 |
__FUNCTION__ | 함수의 이름을 반환 |
__NAMESPACE__ | 현재 네임스페이스의 이름을 반환 |
가변 변수
php는 변수의 이름까지 동적으로 변경이 가능하다 ($를 추가로 사용)
<html>
<body>
<?php
$name ="chicken";
$chicken = "BBQ";
$BBQ = "프라이드 치킨";
echo $name;
echo "<br>";
echo $$name;
echo "<br>";
echo $$$name;
?>
</body>
</html>
'PHP' 카테고리의 다른 글
PHP + MYSQL 회원가입 / 로그인 구현하기 (24) | 2020.10.09 |
---|---|
php mysql 연동하기 (0) | 2020.10.07 |
PHP 반복문/ 배열 (0) | 2020.10.06 |
php.ini 파일 셋팅하기 (0) | 2020.10.05 |
WAMP 설치하기 및 php 실행해보기 (3) | 2020.10.05 |