Loading

블로그채널

Search !

[PHP] 변수 만들기, 변수 출력 및 범위


이번 시간엔는 변수에 대해 알아 보겠습니다.

명령형(imperitive) 프로그래밍 언어의 주목적은 변수의 상태를 바꾸는 겁니다. 

암호화 프로그램을 예를 들어 보겠습니다.

평문(plain text)을 입력 받습니다. 

그러면 이 평문은 변수에 들어가게 되고 

우리는 여러가지 규칙을 이용해 평문을 암호문으로 만들게 됩니다. 

결국 변수의 상태가 암호문으로 바뀌게 되는 것이죠. 

그래서 PHP처럼 명령형 프로그래밍 언어에서 변수는 굉장히 중요한 의미를 지닙니다. 

 

[PHP] 변수 만들기, 변수 출력 및 범위

[PHP] 변수 만들기, 변수 출력 및 범위




PHP 변수 만들기(선언)

PHP에서 변수는 $로 시작합니다. 

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; // 실수형
?>

PHP 변수 만들 때 유의 사항
변수 이름은 다른 프로그래밍 언어와 같이 숫자로 시작하면 안됩니다. 
첫 문자는 반드시 알파벳으로 시작해야 합니다.
첫 문자외에는 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
$txt = "blogChannel.tistory.com";
echo "I love $txt!";
?>

 

점(.)을 사용해서 문자열을 서로 붙일 수 있어요. 

 

<?php
$txt = "blogChannel.tistory.com";
echo "I love " . $txt . "!";
?>

 

아래처럼 출력하면 어떻게 될까요? 덧셈 결과가 찍힌답니다. 
그래서 결과는 9입니다.

 

<?php 
$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 변수 범위가 있어요. 

local, global, static
세가지 유형이 있어요. local 하면 지역적인 의미와 함께 특정 공간에서만 사용할 수 있다는 의미입니다. 예를 들면 지하세계 벙커같은 공간이예요. 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";
?>

 

결과 

Variable x inside function is: 5

Variable x outside function is:


위 예제에서는 함수(funtion)라는 특정 공간에 즉 벙커에 있는 변수 $x는 
그 공간 안에서만 값을 가지고 있어요. 
함수 공간 밖으로 즉 벙커 밖으로 빠져 나가면 $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";
?>

 


결과 

Variable x inside function is: 

Variable x outside function is: 5


함수는 나중에 나오니 지금은 신경쓸 필요는 없어요. 
나중에 자세히 설명할거예요.

글로벌 변수 $x는 함수 안에서는 값이 없어요. 
함수 밖에서 전역 공간에서는 변수 $x 값 5가 찍혀요. 


다음 시간에는 global, static 에 대해 조금 더 깊게 다루어 볼거예요. 

읽어보신다고 수고 많으셨어요.

이해 안가시는 분은 질문 주시면 친절히 모시겠습니다.


[Copyright ⓒ 블로그채널 무단전재 및 재배포 금지]