이번 시간엔는 변수에 대해 알아 보겠습니다.
암호화 프로그램을 예를 들어 보겠습니다.
평문(plain text)을 입력 받습니다.
그러면 이 평문은 변수에 들어가게 되고
우리는 여러가지 규칙을 이용해 평문을 암호문으로 만들게 됩니다.
결국 변수의 상태가 암호문으로 바뀌게 되는 것이죠.
그래서 PHP처럼 명령형 프로그래밍 언어에서 변수는 굉장히 중요한 의미를 지닙니다.
PHP 변수 만들기(선언)
예) int i; char c;
명령형(imperitive) 프로그래밍 언어의 주목적은 변수의 상태를 바꾸는 겁니다.
암호화 프로그램을 예를 들어 보겠습니다.
평문(plain text)을 입력 받습니다.
그러면 이 평문은 변수에 들어가게 되고
우리는 여러가지 규칙을 이용해 평문을 암호문으로 만들게 됩니다.
결국 변수의 상태가 암호문으로 바뀌게 되는 것이죠.
그래서 PHP처럼 명령형 프로그래밍 언어에서 변수는 굉장히 중요한 의미를 지닙니다.
[PHP] 변수 만들기, 변수 출력 및 범위
PHP 변수 만들기(선언)
PHP에서 변수는 $로 시작합니다.
C언어에서는 자료형)data type)마다 다른 형태의 키워드를 넣어줘야 해요.
C언어에서는 자료형)data type)마다 다른 형태의 키워드를 넣어줘야 해요.
예) int i; char c;
PHP는 간단합니다. $만 붙이면 정수든 소수든 문자열이든 변수를 만드는 게 가능합니다.
PHP는 자료의 내용을 보고 알아서 자료형을 결정합니다.
예제는 아래 사이트에 있습니다.
간혹 태그가 html로 변환되어 보이지 않을 때가 있더군요.
http://www.w3schools.com/php/php_variables.asp
<?php
$txt = "Hello world!"; // 문자열
$x = 5; // 정수
$y = 10.5; // 실수형
?>
$txt = "Hello world!"; // 문자열
$x = 5; // 정수
$y = 10.5; // 실수형
?>
PHP 변수 만들 때 유의 사항
변수 이름은 다른 프로그래밍 언어와 같이 숫자로 시작하면 안됩니다.
첫 문자는 반드시 알파벳으로 시작해야 합니다.
첫 문자외에는 A-z, 0-9, _ 를 사용할 수 있어요.
변수 이름은 다른 프로그래밍 언어와 같이 숫자로 시작하면 안됩니다.
첫 문자는 반드시 알파벳으로 시작해야 합니다.
첫 문자외에는 A-z, 0-9, _ 를 사용할 수 있어요.
myGirl_inLA // 가능합니다. (o)
_myGirl_inLA // 첫문자가 알파벳이 아닙니다. (x)
3_PO // 첫문자가 알파벳이 아닙니다. (x)
변수 출력
변수 이름을 문자열 안에 포함 시켜 출력할 수 있습니다.
C언어 같은 경우 pritnf("I love %s!", txt);처럼
%s, %d, %f 등등 변수 자료형을 넣어주어야했어요.
그런데 PHP는 그런게 필요없습니다. 그냥 $txt를 문자열안에 넣어주면 되요.
참 편리하죠?
PHP는 자료형이 느슨한 언어다.
PHP is a Loosely Typed Language
C, C++ JAVA에서는 변수에 자료형 일일이 선언해줘야해요
PHP 변수 범위가 있어요.
local, global, static
위 예제에서는 함수(funtion)라는 특정 공간에 즉 벙커에 있는 변수 $x는
코드
변수 이름을 문자열 안에 포함 시켜 출력할 수 있습니다.
C언어 같은 경우 pritnf("I love %s!", txt);처럼
%s, %d, %f 등등 변수 자료형을 넣어주어야했어요.
그런데 PHP는 그런게 필요없습니다. 그냥 $txt를 문자열안에 넣어주면 되요.
참 편리하죠?
<?php
$txt = "blogChannel.tistory.com";
echo "I love $txt!";
?>
점(.)을 사용해서 문자열을 서로 붙일 수 있어요.
<?php
$txt = "blogChannel.tistory.com";
echo "I love " . $txt . "!";
?>
$txt = "blogChannel.tistory.com";
echo "I love " . $txt . "!";
?>
아래처럼 출력하면 어떻게 될까요? 덧셈 결과가 찍힌답니다.
그래서 결과는 9입니다.
<?php
$x = 4;
$x = 4;
$y = 5;
echo $x + $y;
?>
PHP는 자료형이 느슨한 언어다.
PHP is a Loosely Typed Language
C, C++ JAVA에서는 변수에 자료형 일일이 선언해줘야해요
PHP는 데이터의 자료형을 보고 알맞게 자동으로 변환시켜줍니다.
아주 편리해요.
PHP 변수 범위 PHP Variables Scope
PHP는 변수를 3가지 종류로 범위를 나타낼 수 있어요.
아주 편리해요.
PHP 변수 범위 PHP Variables Scope
PHP는 변수를 3가지 종류로 범위를 나타낼 수 있어요.
PHP 변수 범위가 있어요.
local, global, static
세가지 유형이 있어요. local 하면 지역적인 의미와 함께 특정 공간에서만 사용할 수 있다는 의미입니다. 예를 들면 지하세계 벙커같은 공간이예요. global은 지상 세계라고 표현할게요.
local은 벙커 안에서만 사용할 수 있고, global은 지상 세계에서만 사용할 수 있어요. 글로벌 변수는 벙커 안에서 사용할 수 없고 마찬가지로 지역 변수는 지상세계인 global 영역에서 사용할 수 없어요.
local은 벙커 안에서만 사용할 수 있고, global은 지상 세계에서만 사용할 수 있어요. 글로벌 변수는 벙커 안에서 사용할 수 없고 마찬가지로 지역 변수는 지상세계인 global 영역에서 사용할 수 없어요.
코드
<?php
function myTest() {
$x = 5; // local scope
echo "Variable x inside function is: $x";
}
myTest();
// 변수 $x에 값이 존재하지 않습니다.
echo "Variable x outside function is: $x";
?>
function myTest() {
$x = 5; // local scope
echo "Variable x inside function is: $x";
}
myTest();
// 변수 $x에 값이 존재하지 않습니다.
echo "Variable x outside function is: $x";
?>
결과
Variable x inside function is: 5
Variable x outside function is:
위 예제에서는 함수(funtion)라는 특정 공간에 즉 벙커에 있는 변수 $x는
그 공간 안에서만 값을 가지고 있어요.
함수 공간 밖으로 즉 벙커 밖으로 빠져 나가면 $x안에는 아무런 값이 존재하지 않아요.
변수가 필요할 때 생성되고 없으지니 메모리 공간 측면에서 효율적이고 좋아요.
하지만 global하게 쓰고 싶을 때가 있어요.
함수 외부 즉 벙커 밖인 지상 세계에서 사용하면 글로벌한 변수가 되요.
중요한 건 함수에서는 이 글로벌한 변수를 사용할 수 없다는 거예요.
연결하는 방법은 나중에 알아볼거예요.
함수 공간 밖으로 즉 벙커 밖으로 빠져 나가면 $x안에는 아무런 값이 존재하지 않아요.
변수가 필요할 때 생성되고 없으지니 메모리 공간 측면에서 효율적이고 좋아요.
하지만 global하게 쓰고 싶을 때가 있어요.
함수 외부 즉 벙커 밖인 지상 세계에서 사용하면 글로벌한 변수가 되요.
중요한 건 함수에서는 이 글로벌한 변수를 사용할 수 없다는 거예요.
연결하는 방법은 나중에 알아볼거예요.
코드
<?php
$x = 5; // global scope
function myTest() {
// 변수 $x에 값이 존재하지 않습니다.
echo "Variable x inside function is: $x";
}
myTest();
echo "Variable x outside function is: $x";
?>
$x = 5; // global scope
function myTest() {
// 변수 $x에 값이 존재하지 않습니다.
echo "Variable x inside function is: $x";
}
myTest();
echo "Variable x outside function is: $x";
?>
결과
Variable x inside function is:
Variable x outside function is: 5
함수는 나중에 나오니 지금은 신경쓸 필요는 없어요.
나중에 자세히 설명할거예요.
글로벌 변수 $x는 함수 안에서는 값이 없어요.
함수 밖에서 전역 공간에서는 변수 $x 값 5가 찍혀요.
다음 시간에는 global, static 에 대해 조금 더 깊게 다루어 볼거예요.
읽어보신다고 수고 많으셨어요.
이해 안가시는 분은 질문 주시면 친절히 모시겠습니다.
나중에 자세히 설명할거예요.
글로벌 변수 $x는 함수 안에서는 값이 없어요.
함수 밖에서 전역 공간에서는 변수 $x 값 5가 찍혀요.
다음 시간에는 global, static 에 대해 조금 더 깊게 다루어 볼거예요.
읽어보신다고 수고 많으셨어요.
이해 안가시는 분은 질문 주시면 친절히 모시겠습니다.
[Copyright ⓒ 블로그채널 무단전재 및 재배포 금지]
'컴퓨터 언어 > PHP' 카테고리의 다른 글
[PHP] echo, print 설명과 비교 (4) | 2015.04.11 |
---|---|
[PHP] 변수 global, static 키워드 (4) | 2015.04.10 |
[PHP] 기본 문법, 주석달기, 대소문자 구분 (2) | 2015.04.08 |
PHP 설치 및 시작, Hello World 출력하기 (6) | 2015.04.07 |
HTML SQL PHP 자바스크립트 어떤 유형의 언어일까? (1) | 2015.04.06 |