9/08/2007

[TCP/IP] 5. TCP/IP Email

5. TCP/IP Email

- 이메일은 TCP/IP를 이용하는 가장 중요한 것 중 하나이다.


5.1 그대가 이용하진 않는다.

- 이메일을 쓸 때, 그대는 TCP/IP를 이용하지 않는다.

- 이메일을 쓸 때, Lotus Notes나 microsoft Outlook 또는 Netscape Communicator과 같은 이메일 프로그램을 이용한다.


5.2 이메일 프로그램이 이용한다.

- 그대의 이메일 프로그램은 TCP/IP 프로토콜을 다르게 사용한다:

* SMTP를 이용하여 이메일을 보낸다.

* POP를 이용하여 이메일 서버로 부터 이메일을 다운로드 한다.

* IMAP를 이용하여 이메일 서버에 연결할 수 있다.


5.3 SMTP - Simple Mail Transfer Protocol

- SMTP 프로토콜은 이메일 전송을 위해 사용되어진다. SMTP는 다른 컴퓨터로 보내지는 이메일을 보호한다.

- 일반적으로 이메일은 이메일 서버(SMTP 서버)로 보내지고, 그때 또 다른 서버 혹은 서버들을 거처서 마침내, 목적지에 도달한다.

- SMTP는 단지 순수한 텍스트만 보낸다. 그림, 소리, 동영상과 같은 바이너리 데이터를 전송하는 것은 아니다.

- SMTP는 TCP/IP 네트웍을 가로질러 바이너리 데이터를 보낼 땐 MIME 프로토콜을 이용한다. MIME 프로토콜은 순수한 텍스트를 바이너리 데이터보 바꿔준다.


5.4 POP - Post Office Protocol

- POP 프로토콜은 이메일 서버로 부터 이메일을 검색할 목적으로 이메일 프로그램(마이크로소프트 아웃룩과 같은)에 의해 사용되어진다.

- 이메일 프로그램은 POP를 이용한다. 모든 이메일은 이메일 프로그램으로 다운로드 된다.(또한 이메일 클라이언트라 불린다.), 이메일 서버에 각각의 시간에 접속된다.


5.5 IMAP - Internet Message Access Protocol

- IMAP 프로토콜은 POP 프로토콜 처럼 이메일 프로그램(마이크로소프트 아웃룩과 같은)을 이용한다.

- IMAP 프로토콜과 POP 프로토콜의 주요한 차이점은 IMAP 프로토콜은 이메일 프로그램이 이메일 서버로 연결되는 각각의 시간에 자동적으로 모든 이메일을 다운로드 하진 않는다는 것이다.

- IMAP 프로토콜은 다운로드 하기전에 이메일 서버의 이메일 메시지를 볼 수 있게끔 허락한다. 더불어 IMAP는 메시지를 다운로드 하거나, 메시지를 삭제할 수 있게끔 해준다.다른 장소에서 이메일 서버에 접속이 필요하다면 IMAP는 완벽하다. 하지만, 사무실로 돌아와 메시지를 다운로드 하길 바랄것이다.

9/07/2007

[TCP/IP] 4. TCP/IP 프로토콜

4. TCP/IP 프로토콜

- TCP/IP 는 서로 다른 통신 프로토콜들의 대규모 모음이다.


4.1 프로토콜의 패밀리

- TCP/IP는 TCP와 IP라는 두 원조 프로토콜에 기초하는 서로 다른 통신 프로토콜들의 대규모 모음이다.


4.2 TCP - Transmission Control Protocol

- TCP는 네트웍에서 응용프로그램으로부터 데이터를 전송하기 위해서 사용된다.

- TCP는 IP패킷이 보내고, 도착한 패킷을 재조립하기 전에 패킷 분할을 관장한다.


4.3 IP - Internet Protocol

- IP는 다른 컴퓨터들간의 통신을 관장한다.

- IP는 인터넷 상에서 데이터 패킷을 주고 받기를 관장한다.


4.4 HTTP - Hyper Text Transfer Protocol

- HTTP는 웹 서버와 웹 브라우저 사이의 통신을 관장한다.

- HTTP는 웹 서버에서 웹 클라이언트로 보내지는 요청, 클라이언트에서 다시 서버로 되돌아오는 웹 컨텐츠(웹페이지)를 위해서 사용되어진다.


4.5 HTTPS - Secure HTTP

- HTTPS 웹 서버와 웹 브라우저 간의 보안 통신을 관장한다.

- HTTPS는 일반적으로 신용카드 와 다른 민감한 데이터를 운용한다.


4.6 SSL - Secure Sockets Layer

- SSL 프로토콜은 보안 데이터 전송을 위한 데이터 암호에 사용되어진다.


4.7 SMTP - Simple Mail Transfer Protocol

- SMTP는 e-mail의 전송을 위해 사용되어진다.


4.8 MIME - Multi-purpose Internet Mail Extensions

- MIME 프로토콜은 목소리, 오디오, TCP/IP 네트웍을 가로지러는 바이너리 데이터가 포함된 멀티 파일을 전송하는 SMTP와 관련된 프로토콜이다.


4.9 IMAP - Internet Message Access Protocol

- IMAP는 e-mail의 저장과 검색을 위해 사용되어진다.


4.10 POP - Post Office Protocol

- POP는 개인용 컴퓨터에서 e-mail 서버의 e-mail을 다운로드 할 때 사용되어진다.


4.11 FTP - File Transfer Protocol

- FTP는 컴퓨터간 파일 전송을 관장하는 프로토콜이다.


4.12 NTP - Network Time Protocol

- NTP는 컴퓨터간의 시간(클럭) 동기화를 관장한다.


4.13 DHCP - Dynamic Host Configuration Protocol

- DHCP는 네트웍에서 컴퓨터의 동적 IP 주소를 할당하는데 사용되어진다.


4.14 SNMP - Simple Network Management Protocol

- SNMP는 컴퓨터 네트웍의 관리자를 위해 사용되어진다.


4.15 LDAP - Lightweight Directory Access Protocol

- LDAP는 사용자와 인터넷으로부터 e-mail 주소에 관한 정보를 수집하는데 사용된다.


4.16 ICMP - Internet Control Message Protocol

- ICMP는 네트웍에서 에러를 관장한다.


4.17 ARP - Address Resolution Protocol

- ARP는 IP 주소에 근거해 컴퓨터 네트웍 카드의 하드웨어 정보를 찾기 위해서 사용되는 프로토콜이다.


4.18 RARP - Reverse Address Resolution Protocol

- RARP는 컴퓨터 네트웍 카드의 하드웨어 주소를 근거해 IP 주소를 찾기 위해 사용되는 프로토콜이다.


4.19 BOOTP - Boot Protocol

- BOOTP는 네트웍 부팅 컴퓨터를 위해 사용되어진다.


4.20 PPTP - Point to Point Tunneling Protocol

- PPTP는 개인 네트웍간의 연결을 세팅하기 위해 사용되어진다.

[TCP/IP] 3. TCP/IP 주소

3. TCP/IP 주소

- TCP/IP는 컴퓨터 주소로 32비트, 또는 0 에서 255 사이의 숫자 4개를 사용한다.


3.1 IP 주소

- 각각의 컴퓨터는 인터넷에 연결되기전에 IP 주소를 가져야 한다.

- 각각의 IP 패킷은 또 다른 컴퓨터로 패킷을 전송하기 전에 주소를 가져야 한다.

- 이것이 IP 주소이다 : 192.68.20.50.

- 동일한 IP 주소로 생각된다 : http://www.w3schools.com/

- 다음장에서 IP 주소와 IP 이름에 대해서 배우게 될 것이다.


3.2 IP 주소는 숫자 4개를 포함한다.

- 이것이 IP 주소이다. : 220.122.66.169

- TCP/IP는 컴퓨터 주소로 숫자 4개를 사용한다. 각각의 컴퓨터는 유일한 숫자 4개 주소를 가져야 한다.

- 숫자는 항상 0 과 255 사이여야 한다. 주소는 정규적으로 192.168.1.50. 과 같은 숫자4개 사이에 period(마침표)로 구분되어져 사용된다.


3.3 32비트는 4바이트

- TCP/IP는 32비트 주소를 사용한다. 컴퓨터에서 한 바이트는 8비트이다. 그래서 TCP/IP는 4바이트를 사용한다.

- 컴퓨터의 한 바이트는 256가지의 값을 가진다:

- 00000000, 00000001, 00000010, 00000011, 00000100, 00000101, 00000110, 00000111, 00001000 .......동일한 방법으로 11111111.

- 이제 TCP/IP가 왜 0 에서 255 사이의 숫자 4개를 사용하는지 알게 됐다.


3.4 도메인 이름

- 12 자리 숫자는 기억하기에 힘들다. 이름을 이용하는게 더 쉽다.

- TCP/IP 주소를 위한 이름을 도메인 네임(이름)이라고 한다. google.com 은 도메인 이름이다.

- 웹사이트 주소 http://google.co.kr/ 의 이름은 DNS 프로세스(Domain Name Server)에 의해서 숫자로 변역된다.

- 세상 모든, DNS 서버의 대규모 숫자는 인터넷으로 연결되어 있다. DNS 서버는 TCP/IP 주소를 도메인 이름으로 번역하며 각각 새로운 도메인 이름을 업데이트 하는 역할을 한다.

- 새로운 도메인 이름이 생성되면, TCP/IP 주소 이름과 더불어, 모든 DNS 서버에 그 정보가 업데이트된다.

[TCP/IP] 2. TCP/IP 개요

2. TCP/IP 개요

- TCP/IP는 인터넷을 위한 통신 규약이다.


2.1 컴퓨터 통신 프로토콜

- 컴퓨터 통신 프로토콜은 각각의 컴퓨터들이 통신을 위해서 따라야 할 규칙을 묘사한다.


2.2 TCP/IP란 무엇인가?

- TCP/IP는 인터넷에 연결된 컴퓨터 상호간에 통신을 위한 통신 프로토콜이다.

- TCP/IP는 Transmission Control Protocol / Internet Protocol 의 약자이다.

- 표준은 컴퓨터와 같은 전자장치들이 인터넷에서 어떻게 연결될 것인지, 그들간의 데이터는 어떤방식으로 전송해야 하는지를 정의한다.


2.3 TCP/IP 내부

- TCP/IP 표준 내부에는 데이터 통신을 위한 프로토콜이 숨겨져 있다.

* TCP (Transmission Control Protocol) 응용프로그램들간의 통신 프로토콜
* UDP (User Datagram Protocol) 간단한 응용프로그램들간의 통신 프로토콜
* IP (Internet Protocol) 컴퓨터들간의 통신
* ICMP (Internet Control Message Protocol) 에러와 통계를 위한 프로토콜
* DHCP (Dynamic Host Configuration Protocol) 동적 주소를 위한 프로토콜

- 이러한 표준은 나중에 배우게 된다.


2.4 TCP는 고정 연결을 이용한다.

- TCP는 응용프로그램간의 통신을 위해서 필요하다.

- 응용프로그램은 또 다른 응용프로그램과의 통신을 바랄 때, TCP를 거쳐 통신요청을 보낸다. 요청은 정확한 주소로 보내진다. 두 응용프로그램간의 "handshake" 후, 두 응용프로그램간의 "full-duplex(양방향)" 통신을 설정할 것이다.

- "full-duplex(양방향) 통신은 두 응용프로그램 중 하나가 닫혀질때 까지 두 컴퓨터 사이의 통신라인은 연결될 것이다.

- UDP는 TCP와 매우 유사하다. 그러나 간단하면서 신뢰성은 떨어진다.


2.5 IP는 약한 연결이다.

- IP는 컴퓨터들 사이의 통신을 위해서 필요하다.

- IP는 "connection-less(약한 연결)" 통신 프로토콜이다. 두 컴퓨터간의 통신 라인을 지속시키지 않는다. 이 IP방법은 네트워크 라인을 줄이기 위해서 필요하다. 각각의 라인은 동시에 다수의 다른 컴퓨터들 사이의 통신을 위해서 사용될 수 있다.

- 더불어 IP의 메시지는 인터넷에 연결된 컴퓨터들간에 "패킷"이라는 작고 독립적인 데이터로 나눠어 보낸다.

- IP는 목적지로 각각의 패킷을 "routing(라우팅)"하기위한 책임을진다.


2.6 IP 라우터

- IP 패킷이 컴퓨터로부터 보내지면, 그것은 IP 라우터에 도착한다.

- IP 라우터는 직접적으로 아니면, 다른 라우터를 통해서 목적지로 패킷을 라우팅하는 책임을 진다.

- 패킷의 진로는 동일한 통신의 서로 다른 패킷으로 달라질 것이다. 라우터는 트래픽 용량, 네트웍 에러, 다른 파라멘터에 근거해서 정확한 주소로 보낸다.


2.7 약한 연결 유추

- IP를 경유하는 통신은 작은 엽서의 대규모 숫자처럼 긴 문자를 보내고, 받을 때 유용하다.


2.8 TCP/IP

- TCP/IP는 TCP와 IP를 동시에 동작시킨다.

- TCP는 응용 소프트웨어간의 통신과 네트웍 소프트웨어를 관장한다.

- IP는 이종 컴퓨터간의 통신을 관장한다.

- TCP는 IP패킷이 보내고, 도착한 패킷을 재조립하기 전에 패킷 분할을 관장한다.

- IP는 수신자에게 패킷을 보내는 것을 관장한다.

9/06/2007

[TCP/IP] 1. TCP/IP

1. TCP/IP

- TCP/IP는 인터넷을 위한 통신 프로토콜이다.

- 이번 학습에선 TCP/IP와 TCP/IP가 어떻게 동작하는지를 배우게 된다.


1.1 TCP/IP는 인터넷 통신 프로토콜이다.

- 통신 프로토콜은 각각의 통신을 위해서 따라야 할 컴퓨터들의 규칙을 묘사한다. 인터넷 통신 프로토콜은 인터넷상에 있는 컴퓨터 통신을 위한 규칙을 정의한다.


1.2 브라우저와 서버는 TCP/IP를 이용한다.

- 인터넷 브라우저와 인터넷 서버들은 인터넷에 연결하기 위해서 TCP/IP를 사용한다. 브라우저는 인터넷 서버에 접근하기 위해서 TCP/IP를 사용하고, 서버는 브라우저에게 HTML을 보내기 위해서 TCP/IP를 사용한다.


1.3 E-Mail은 TCP/IP를 이용한다.

- E-mail 프로그램은 e-mail을 보내고 받기 위한 인터넷 연결을 위해서 TCP/IP를 이용한다.


1.4 인터넷 주소는 TCP/IP이다.

- 인터넷 주소 "211.122.66.169"는 표준 TCP/IP 프로토콜의 부분이다.(도메인 이름"www.someonesplace.com")

[PHP] 14. PHP $_POST

14. PHP $_POST

- $_POST 변수는 method="post" 을 이용하여 폼의 값을 수집하는데 사용된다.


14.1 $_POST 변수

- $_POST 변수는 변수 이름과 값의 배열을 HTTP POST 방식을 이용하여 보낸다.

- $_POST 변수는 method="post" 을 이용하여 폼의 값을 수집하는데 사용된다. POST 방식으로 보내진 폼의 정보는 다른 사람들에게 보이지 않는다. 그리고 보내지는 정보의 양 또한 제한되어 있지 않다.

* Example

- 사용자가 "Submit" 버튼을 클릭했을 때, 그 URL은 아래와 같이 어떠한 폼 데이터도 포함하지 않는다:

- "welcome.php" 파일은 폼 데이터를 잡아내기위해 $_POST 변수를 사용할 수 있다. (폼
필드의 이름은 자동적으로 $_POST 배열의 ID key 임을 알 수 있다.) :


14.2 Why use $_POST

- 변수는 URL이 보여지지 않는 HTTP POST 방식을 이용하여 보낸다.

- 변수의 길이 제한이 없다.

- 그러나, 변수가 URL을 표시하지않기 때문에, 페이지 북마크는 불가능하다.


14.3 The $_REQUEST Variable

- PHP $_REQUEST 변수는 $_GET, $_POST 그리고, $_COOKIE 모두 포함한다.

- PHP $_REQUEST 변수는 GET 과 POST 로 보내지는 폼의 데이터의 결과를 모두 취할 수 있다.

* Example

[PHP] 13. PHP $_GET

13. PHP $_GET

- $_GET 변수는 method="get" 을 이용하여 폼의 값을 수집하는데 사용된다.


13.1 The $_GET Variable

- $_GET 변수는 변수 이름과 값의 배열을 HTTP GET 방식을 이용하여 보낸다.

- $_GET 변수는 method="get" 을 이용하여 폼의 값을 수집하는데 사용된다. GET 방식으로 보내진 폼의 정보는 모든 사람들에게 보여진다. (브라우저의 주소표시줄안에 나타난다.) 그리고 보내지는 정보의 총합은 최대 100 문자로 제한되어 있다.

* Example

- 사용자가 "Submit" 버튼을 클릭했을 때, 아래와 같이 보여지는 어떤것의 URL이 보내어진다:

- "welcome.php" 파일은 폼 데이터를 잡아내기위해 $_GET 변수를 사용할 수 있다. (폼 필드의 이름은 자동적으로 $_GET 배열의 ID key 임을 알 수 있다.)


13.2 Why use $_GET

- Note: $_GET 변수를 사용할 때 모든 변수 이름과 값은 URL 안에 표시되어진다. 그래서 이 방법은 패스워드나 다른 민감한 정보를 전송할 때는 사용해서는 안되는 방법이다. 하지만, 그 변수들은 URL내에서 표시되어지기 때문에 페이지 북마크가 가능하다. 어떤 경우 이런한 방법은 유용할 수 있다.

- Note: HTTP GET 방식은 매우 큰 변수값에는 유용하지 않다; 그 값은 최대 100문자이다.


13.3 The $_REQUEST Variable

- PHP $_REQUEST 변수는 $_GET, $_POST 그리고, $_COOKIE 모두 포함한다.

- PHP $_REQUEST 변수는 GET 과 POST 로 보내지는 폼의 데이터의 결과를 모두 취할 수 있다.

* Example

[PHP] 12. PHP Forms and User Input

12. PHP Forms and User Input

- PHP의 $_GET 와 $_POST 변수는 사용자가 입력한, 폼으로부터 정보를 검색하기위해 사용된다.

12.1 PHP Form Handling

- HTML, PHP폼에서 가장 중요한 것은 PHP스크립트를 이용하여 자동적으로 HTML 페이지 안의 요소를 다루는 것이다.

* Form example:

- 위 HTML 페이지 예제는 두개의 입력 필드와 보내기 버튼을 포함한다. 사용자가 폼안에 필드를 채우고 보내기 버튼을 클릭하면, 그 폼의 데이터는 "welcome.php" 파일로 보내진다.

- "welcome.php" 파일은 아래와 같다:


- 예제의 예상되는 출력은:

- PHP의 $_GET 와 $POST 변수는 다음장에서 설명한다.


12.2 Form Validation

- 사용자의 입력은 가능하다면 유효해야된다. 클라이언트 측면에서 유효하다면 빠르고, 서버의 로드 시간을 줄여줄것이다.

- 그러나, 어떤 사이트는 서버 자원들을 줄이는데 생각을 안해서 트랙픽을 많이 발생시키고, 보안에 신경을 안쓴다. 가능하다면 데이터베이스에 접근하는 폼의 서버 측면의 유효성을 항상 생각하면서 코딩해야 한다.

- 서버상에서 폼의 유효성을 유지하는 좋은 방법은 다른 페이지로 이동하는 대신에, 현재 보이는 자체 페이지에 폼에 올리는 것이다. 사용자는 폼같은 같은 페이지상에서 에러 메시지를 받게 될 것이다. 이런한 방법이 사용자가 에러를 복구하기에 쉽다.

9/05/2007

[PHP] 11. PHP Functions

11. PHP Functions

- PHP의 진정한 힘은 함수이다.

- PHP에서는 700개 이상이나 되는 함수를 이용할 수 있다.


11.1 PHP Functions

- 이번 학습에서는 자신의 함수를 어떻게 만드는가에 대해서 알아본다.

- 참조하고 함수를 만드는 예제를 보길 바란다면 PHP Reference 를 방문해본다.


11.2 Create a PHP Function

- 함수는 우리가 바랄때 언제든지 실행할 수 있게끔 만들어진 코드 블럭이다.

- PHP 함수 생성:

* 모든 함수는 "function()" 단어로 시작한다. * 함수의 이름 - 함수이름으로 함수가 무슨 일을 하는지 알게끔 이름 짓는다. 함수 이름은 문자 혹은 언드스코어로 시작한다.(숫자는 아니다.)
* "{" 추가 - 함수는 열기 중괄호로 시작한다.
* 함수 코드를 추가한다.
* "}" 추가 - 함수는 닫기 중괄호로 종료한다.

* Example

- 자신의 이름을 호출하는 간단한 함수이다:


11.3 Use a PHP Function

- PHP 스크립트에서 함수를 사용하는 방법:

- 예상되는 출력값:


11.4 PHP Functions - Adding parameters

- 우리의 첫번째 함수 (writeMyName())는 매우 간단한 함수이다. 이 함수는 단지 정적인 스트링을 쓴다.

- 파라멘트를 추가해서 사용하면 더욱 다양한 함수의 기능을 맛볼수 있다. 파라멘트는 단지 변수와 비슷하다.

- 함수 이름 뒤에 writeMyName()와 같은 괄호를 보았을 것이다. 파라멘트는 괄호 내부에 자리잡는다.

* Example 1

- 첫번째 이름들만 다르고, 마지막 이름은 같은 예제를 볼 수 있다.

- 코드의 예상되는 출력값은:

* Example 2

- 다음 함수는 두개의 파라멘트를 갖는다:

- 코드의 예상되는 출력값은:



11.5 PHP Functions - Return values

- 함수는 또한 리턴값을 사용할 수 있다.

* Example

- 코드의 예상되는 출력값은:

[PHP] 10. PHP Looping

10. PHP Looping

- PHP에서 반복문은 횟수를 구분짓는 코드의 동일한 블럭에서 실행될 목적으로 사용된다.


10.1 Looping

- 동일한 블럭에 있는 코드를 몇 차례 반복적으로 사용하길 바랄 쓴다. 코드에서 반복문을 이렇게 사용할 수 있다.

- PHP에서 반복문은 다음과 같다.

* while - 코드 블럭 내에서 조건이 참인 동안 계속 반복된다.
* do...while - 코드 블럭 내에서 한번은 실행되고, 조건이 참인 동안 계속 반복된다.
* for - 지정한 횟수까지 코드 블럭이 반복된다.
* foreach - 배열의 각각의 요소를 위해 코드 블럭이 반복된다.


10.2 The while Statement

- while 문은 조건의 상태가 참인 동안에 코드의 블럭은 실행될 것이다.

* Syntax
* Example
- 다음은 변수 i가 5보다 작거나, 같을 동안에 반복 실행되는 예제문이다. i는 루프가 실행될 때마다 1씩 증가할 것이다.

10.3 The do...while Statement

- do...while 문은 최소 한번은 코드 블럭을 실행시킨다. - 조건의 상태가 참인 동안은 계속해서 실행될 것이다.

* Syntax

* Example
- 다음 예문은 최소 한번은 i 값이 증가되고, i 값이 5보다 작은 동안에 계속 증가될 것이다.


10.4 The for Statement

- for문은 실행문의 반복 횟수나 리스트를 정확히 알 때 사용된다.

* Syntax

- Note : for문은 3가지 파라멘트를 갖는다. 첫번째 파라멘트는 변수들의 초기화, 두번째 파라멘트는 상태, 세번째 파라멘트는 루프가 이행될 목적으로 요구되는 증가이다. 만약 하나 이상의 변수에 초기화 혹은 파라멘트 증가를 포함하면 콤마로 구분하여 사용한다. 그 상태는 참 혹은 거짓으로 평가해야 된다.


* Example
- 아래는 "Hello World!"를 5번 출력하는 예이다.


10.5 The foreach Statement

- foreach 문은 배열을 통해서 사용된다.

- 루프가 실행되면, 현재 배열 요소의 값은 $value 로 할당되어진다.(그리고 배열의 포인터는 한칸 움직여진다.) - 그래서 다음 루프에서는 다음 요소를 보게될 것이다.


* Syntax


* Example
- 아래 예제는 배열의 값을 출력하게 될 것이다.

9/03/2007

[PHP] 9. PHP Arrays

9. PHP Arrays

- 배열은 단일 변수 이름에서 하나 또는 그 이상을 저장할 수 있다.


9.1 배열이란 무엇인가?

- PHP에서 작업할 때 다수의 유사한 변수들을 즉시 만들고 싶을때가 있다.

- 다수의 유사한 변수들 대신에, 배열속에 요소와 같은 데이터를 저장할 수 있다.

- 배열에서 각각의 요소는 쉽게 접근할 수 있는 자신의 ID를 갖는다.

- 3가지 다른 종류의 배열들이 있다 :

* Numeric array - 숫자 ID 키 배열

* Associative array - 값과 관련된 각각의 ID 키 배열

* Multidimensional array - 하나 또는 다수의 배열들을 포함하는 배열


9.2 Numeric Arrays

- Numeric Array는 숫자 ID 키와 함께 각각의 요소가 저장된다.

- 숫자 배열을 생성하는 서로다른 방법

* Example 1

- ID 키가 자동적으로 할당되는 예

* Example 2

- 수동적으로 ID 키를 할당하는 예
* 스크립트에서 ID 키 사용 예
- 코드의 출력은 아래와 같다:


9.3 Associative Arrays

- associative array의 각각의 ID 키는 값과 연관되어 있다.

- 특정 이름값의 데이터를 저장할 때, numerical array가 항상 최선의 방법은 아니다.

- associative array는 값을 키와 그들의 할당 값으로 사용할 수도 있다.

* Example 1

- 서로 다른 사람들의 나이를 할당할 때 사용하는 예제

* Example 2

- Example 1과 같지만, 배열을 생성하는 방법이 다른다는 것을 보여준다.
- 스크립트에서 ID 키를 사용할 수 있다. - 코드의 출력은 아래와 같다:

9.4 Multidimensional Arrays

- 다차원 배열에서, 주요한 배열안의 각각의 요소는 또한 배열일 수 있다. 그리고 sub 배열안에서 각각의 요소 또한 배열일 수 있다.

* Example 1

- 자동적으로 ID 키들을 할당하기 위한 다차원 배열 생성 예제

- 만약 출력을 쓴다면 배열은 아래와 같을 것이다.

* Example 2

- 위 배열로 부터 단일 값을 보여줘보자.
- 코드의 출력은 아래와 같다: