[입문자용 강좌] 변수형? > 개발자팁

개발자팁

개발과 관련된 유용한 정보를 공유하세요.
질문은 QA에서 해주시기 바랍니다.

[입문자용 강좌] 변수형? 정보

기타 [입문자용 강좌] 변수형?

첨부파일

변수형.hwp (18.0K) 41회 다운로드 2007-02-12 14:32:48

본문

[변수형]
# 본내용은 스킨제작을 목적으로 하는 분들을 위한 입문자용 기본 강좌입니다.
# 입문자가 쉽게 php를 느낄수 있도록 되도록 간추려서 쉽게 구성한 강좌입니다.
# 입문자가 아니면 보실 필요가 없습니다.
# 강좌의 순서는 입문자가 쉽게 와닿을수 있도록 임의로 조정했습니다.
# 강좌는 누구나 읽고 사용할수 있지만, 다른 책의 내용으로 포함될수 없습니다.


1. '변수형'

변수형 이란 변수에 값으로 대입할수 있는 형태 라는 뜻입니다.

1)
여기서부터 어렵다고 포기한 분 있죠? 아님 그냥 넘어갔거나?
어렵게 생각하지 말고 생각하기 보다 먼저 어렵다 느끼지 말고
자연스럽게 받아들여 보시기 바랍니다.

2)
변수형에는 여러가지가 존재하지만, 흔히 사용하는 부분만 제 임의대로 설명합니다.
사실 php는 변수형의 변환같은 규칙이 다른 프로그래밍 언어보다 자유로워서
입문자나 초보자는 크게 부담 느끼지 않아도 됩니다.
그냥 개념만 이해하면 됩니다.

A. 숫자로 된 변수형
숫자형으로 된 변수형 => 정수(integer), 실수형 소숫점포함(float, double)

$val_int = 123;
$val_int = -234;

등과 같이
0을 포함한 양의 정수 음의 정수를 사용하여 변수에 값을 대입하는 변수형을
정수형, integer 라고 합니다.

$val_float = 123.123;
$val_float = - 0.123;

등과 같이
소숫점을 포함한 양의 실수, 음의실수를 사용하여 변수에 값을 대입하는 변수형을
실수형, (float 혹은 double)이라고 합니다.

float과 double의 차이는 같은 형식을 취하되 범위에 따라 나눕니다. 범위가 좁은 것은 float, 범위가 큰것은 double 입니다.
어렵게 생각하지 말고 개념정도만 이해합니다.

B. 문자의 결합으로 된 변수형 => string
문자결합형 변수는
숫자나 알파벳 한글 등 모든 형태의 문자를 다 사용할수 있습니다.
그러나 변수에 대입하는 방법이 숫자형과는 다릅니다.
위 숫자형 예를 보면 변수에 값을 대입한는데 '나 "를 사용하지 않은 것이 보일것입니다.
반대로 문자결합형은
숫자형과 구분하기 위해서 변수에 값을 대입할때는 반드시 '나 "으로 감싸주어야 합니다.

$val_string = '1234';
//이것은 숫자형의 정수형태같지만 '로 싸져있기때문에 문자결합형 변수입니다.

$val_string = '가나다라abcd1234 生年月日';

C. 참 거짓 의 상태만을 나타내는 변수형 => boolean
boolean 형의 변수에
들어갈수 있는 값은 참에 해당하는 true 와 거짓에 해당하는 false 밖에 없습니다.

흔히 사용하는 조건 문에서 참거짓을 판별하는 것과 같이
변수자체가 참이라는 의미와 거짓이라는 의미를 가지는 것입니다.
이것을 숫자로 대신 대입하기도 하는데 true 는 1로서 false 는 0 으로서
대신하기도 합니다.

하지만, 이것은 반듯이 일치하는 것은 아닙니다.

$val_boolean = true;
//숫자형과 마찬가지로 boolean 형은 '나 "를 사용하지 않습니다
$val_boolean = false;
//'나 "를 사용하게 되면 문자 결합형 변수가 됩니다. 사용하고자 하는 참거짓의 의미는 상실합니다.

D. 복합적인 변수형 => 배열(array)
배열이라는 것은 수학에서 배웟던 배열의 개념과 비슷합니다.
앞에서 나열햇던 변수형들은 변수 하나에 하나의 값, 하나의 변수형만 사용할수 있는 반면

배열이라는 것은
하나의 변수에 여러종류의 다른 변수형의 변수를 같이 대입할수 있는 것입니다.

이해를 돕기 위해 배열을 아파트 라고 생각하면
1층 1호에는 흑인이 살고
1층 2호에는 백인이 살고
1층 3호에는 황인이 살고
......
2층 1호에는 호랑이가 살고
2층 2호에는 코끼리가 살고
......

여기서 몇층에 몇호는 배열의 키값에 해당하고, 누가 살고는
그 배열의 키값에 해당하는 곳에 대입된 값입니다.

이해가 안되더라도 여기서는 그냥 넘어갑니다.
글로서 보는 부분보다는 차차 예제나 활용을 통해서 이해가 되는 경우가 많은데
이것 역시 그런 경우입니다.

배열을 사용하기 위해서는 배열을 선언을 해야 하는데
이것에는 여러가지 방법이 있습니다.

$val_array = Array('백인', '흑인', '황인', '123456', 5555);
이런식으로 통째로 집어넣는 방법이 있고

$val_array = Array();
$val_array[0]= '백인';
$val_array['second'] = 'test';
와 같이 이것은 배열입니다. 라고 먼저 선언한다음
키값에 따라 값을 대입하는 방법이 있습니다.

php는 규칙이 많이 자유롭다고 했는데
프로그램상 해당 변수를 배열로 선언하지 않았다 하더라도
배열의 형태로 값을 대입하면 내부적으로 알아서 배열을 선언하여 줍니다.

//배열을 선언하지 않았다.
$val_array['first'] = 123456;

이렇게만 하여도
위의 두 예제와 같은 결과를 가집니다.

배열은 형이 복합형이기 때문에
배열안에 또 배열을 값으로 대입할수 있습니다.
이것을 배열의 차수라고 하는데요
php는 이 차수의 제한이 없습니다.
무슨 뜻인지 모르더라도 이부분은 아 그렇구나 하고 넘어갑니다.

$val_array = Array(1=>'asddss', 2=>Array('ddd','fff'));
이것을 다르게 풀면
$val_array = Array();
$val_array[1] = 'asddss';
$val_array[2] = Array();
$val_array[2][0] = 'ddd';
$val_array[2][1] = 'fff';
이것과 같습니다.

그런데 갑자기 => 이것이 어디서 나왔냐구요?
php는 규칙이 매우자유롭기 때문에 편하기도 하지만 때론 혼동을 주기도 합니다.
배열은 반듯이 키값을 가지게 되어있는데
배열의 키값이란 [] 안에 들어가는 번지수를 애기하는 것입니다.
아까 아파트의 예로서 1층 이나 1호가 키값에 해당합니다.
php에서 배열은 키값을 주지 않을경우에는 자동으로 내부적으로 키값을 할당합니다.
할당은 항상 0분터 순서 대로 1 2 3 이런식으로 증가해 나갑니다.

$mb['mb_id'][] = 'test';
$mb['mb_id'][] = 'test2';
$mb['mb_id'][] = 'test3';

이렇게 사용하게 되면 이것은
$mb['mb_id'][0] = 'test';
$mb['mb_id'][1] = 'test2';
$mb['mb_id'][2] = 'test3';
와 같습니다.


$mb['mb_id'] = Array('test', 'test2', 'test3');
과 같습니다.


$mb['mb_id'] = Array(0=>'test', 1=>'test2', 2=>'test3');
와 같습니다.


$mb = Array('mb_id'=>Array(0=>'test', 1=>'test2', 2=>'test3'));
와 같습니다.

이해가 되시죠?


2.

변수형에는 이외에도 여러가지가 더 있지만
입문자 단계에서는 거의 사용하지 않고, 입문단계에서부터 다루게 되면
더 어렵게 느껴지므로 생략합니다.<div class='small'>[이 게시물은 관리자님에 의해 2011-10-31 17:12:10 PHP & HTML에서 이동 됨]</div>
추천
1

댓글 18개

어려운가요?
일부러 배열은 길게 설명했는데

오늘 여기까지
다음이 언제 일지 모르나.
다음을 기약하며......
옛날에 배열 배우고 공부할때는 어렵던데...
이 강좌를 보니 이제서야 이해가 갑니다.
솔찍히 요즘 그누보드수정하면서 필드분할한다고 배열을 막 써먹어서 이해가 빨리되었는지도 모르겠습니다. ^^*

다음 강좌도 조심스레 기다리겠습니다.
강좌 감사합니다.
그런가요?
사실 예전에 배웟던 언어의 배열과는 php배열은 조금 다릅니다.

형태도 자유롭고 차수의 제한도 없고
크기의 제한도 없습니다.

php특성이죠
$mb['mb_id'] = Array('test', 'test2', 'test3');


이경우 mb['mb_id']라는 변수에 test 등이 대입되는 건 알겠는데,

$val_array = Array('백인', '흑인', '황인', '123456', 5555);

이렇게 하면

val_array라는 변수에 백인이 대입되는건가요?

val_array는 아무것이나 바꿔써도 되는 것인지...
네 설명이 부족했던 모양이군요

위에 보면

php는 규칙이 자유로워서

배열안에서 키값 => 밸루값 형태를 띄지 않고

그냥 밸루값만 있으면

자동적으로 숫자형 키값이 메겨지게 됩니다.



$val_array = Array('백인', '흑인', '황인', '123456', 5555);

이렇게 배열을 선언하면

사용할땐

$val_array[0] 에 백인이

$val_array[1] 에 흑인이

$val_array[2] 에 황인이......

이런식으로 값이 대입되게 됩니다.

이해 되시죠?

이해안되시면, 조급하게 생각하지 마시고

첨부터 천천히 다시 읽어보세요
감사합니다.^^
저또한 기본이나 전문 지식없이 오로지 삽질파라 유창화님의 강좌가
저에겐 많은 도움이 됩니다.
전체 64
개발자팁 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT