PHP 변수

PHP 변수

PHP 코드 영역

PHP 파서가 PHP 코드를 인식하기 위한 시작과 끝 표기

1. PHP 권장 스타일 : -추천 2. HTML 스크립트 스타일 : ... -추천 3. SGML 스타일 : - 비추 4. ASP 스타일 : <% ... %> - 비추

특징

C언어처럼 PHP 명령문도 마지막은 세미콜론(;)으로 끝남. PHP코드가 종료되면 자동으로 세미콜론을 적용해줌 PHP코드 영역 종료 태그도 생략 가능.

주석

// 한줄주석 # 한줄주석 /*주석문*/

echo() 함수

"; echo ("인수를 전달할 때 괄호를 사용해도 괜찮습니다!"); ECHO "echo() 함수의 키워드는 대소문자를 구분하지 않습니다!"; echo "첫 번째 인수, ", "두 번째 인수"; //echo("첫 번째 인수, ", "두 번째 인수"); // 오류 발생 ?>

변수선언

$변수이름 = 초깃값;

PHP에서 변수의 타입은 해당 변수에 대입하는 값에 따라 자동으로 결정됨.

영문 대소문자, 숫자, 언더스코어만 가능

문자열 내의 변수 치환

echo "변수 \$var에 저장된 값은 {$var}입니다.";

변수이름을 {}로 감싸기

변수 자동 초기화

타입 기본값 boolean FALSE Integer 0 float 0.0 string 빈 문자열 array 빈 배열

전역변수 접근

함수 밖에서 선언된 변수는 함수 밖에서만 바로 접근할 수 있다.

함수 안에서 접근하고자 할때는 global 키워드를 함께 사용해야 한다.

PHP는 모든 전역 변수를 $GLOBALS 배열에 저장한다.

$GLOVALS['var']와 같이 접근할때는 global 키워드를 사용하지 않아도 된다.

슈퍼글로벌

PHP는 미리 정의된 전역변수인 슈퍼 글로벌을 제공한다.

특별한 선언없이 스크립트 내의 어디에서라도 바로 사용할 수 있다.

1. $GLOBALS 2. $_SERVER 3. $_GET 4. $_POST 5. $_FILES 6. $_COOKIE 7. $_SESSION 8. $_REQUEST 9. $_ENV

정적변수

함수내부에서 static 키워드로 선언한 변수

함수 내부에서 선언된 정적변수는 함수 호출이 종료되더라도 메모리상에서 사리지지 않는다.

하지만 지역변수처럼 함수 내부에서만 접근 할 수 있다.

function counter() { static $count = 0; echo "함수 내부에서 호출한 static 변수 count의 값은 {$count}입니다."; $count++; } counter(); counter(); counter();

상수

스크립트가 실행되는 동안 그 데이터를 변경하거나 해제할 수 없다.

define(상수이름, 상숫값, 대소문자구분여부)

대소문자구분여부 false(구분함, 디폴트), true(구분안함)

마법상수

어떤 스크립트에서도 사용할 수 있는 미리 정의된 다양한 상수를 제공한다.

대소문자를 구분하지 않는다.

__LINE__ : 파일의 현재 줄 번호를 반환 __FILE__ : 파일의 전체 경로와 이름을 반환 __DIR__ : 파일의 디렉토리를 반환 __FUNCTION__ : 함수이름을 반환 __CLASS__ : 클래스 이름을 반환 __TRAIT__ : 트레이트의 이름을 반환 __METHOD__ : 메소드 이름 반환 __NAMESPACE__ : 현재 네임스페이스의 이름을 반환

기본타입

boolean : true false(0, 0.0, "0", "", 빈배열, NULL) integer float string array object resource NULL

배열

PHP에서 배열은 한쌍의 키와 값으로 이루어진 맵으로 구성되는 순서가 있는 집합을 의미한다.

키값 : 정수와 문자열만 가능 (불리언:1,0으로변환됨) (실수: 소수부분제거,정수타입변환) (NULL : ""로타입변환)(유효한 숫자로만 이루어진 문자열은 정수나 실수로 자동 타입 변환됨)

값은 키값으로 여러번 맵을 선언하면 덮어 씌워진다.

$arr = array( 1 => "첫 번째 값", // PHP의 배열에서 키값의 1과 "1"은 같은 값을 나타냄. "1" => "두 번째 값", // 같은 키값을 사용하여 두 번 선언했기 때문에 나중에 선언된 "두 번째 값"만 남게됨. 10 => "세 번째 값", -10 => "네 번째 값" );

객체(object)

객체는 클래스의 인스턴스를 저장하기 위한 타입

프로퍼티와 메소드를 포함한다.

class Lecture{ function Lecture(){ $this->lec_01 = "PHP"; $this->lec_02 = "MySQL"; } } $var = new Lecture; echo $var->lec_01;

리소스

PHP 외부에 존재하는 외부 자원을 의미한다.

이러한 리소스는 데이터베이스 함수 등에서 데이터베이스 연결 등을 반환할 때 사용된다.

unset()

인수로 전달받은 변수를 메모리에서 삭제하는 함수

가변 변수

PHP에서는 변수의 타입 뿐만 아니라 변수의 이름까지 동적으로 바꿀 수 있다.

해당 변수의 값을 또 다른 변수의 이름으로 취급한다.

$PHP = "HTML"; $HTML = "CSS"; $CSS = "JavaScript"; echo $PHP; // HTML echo $$PHP; // $HTML -> CSS echo $$$PHP; // $$HTML -> $CSS -> JavaScript

참조

from http://rlawldud335.tistory.com/3 by ccl(A) rewrite - 2021-12-28 15:27:11