무료폰트 웹디자이너 RELATION RELATION.CO.KR

RELATION 로고

PHP 웹프로그래밍

[기타] 배열 array

2014.07.23
Array() 배열이란?
배열이란 하나의 변수에 여러 값을 저장할 수 있는 특수한 변수를 말합니다.
예를 들어 다음의 변수가 있다고 가정해 보겠습니다.



ex #1)
<?php
$cars1 = "Volvo";
$cars2 = "BMW";
$cars3 = "Toyota";
?>
몇 개의 변수로 이루어진 것이라면 문제가 되지 않겠지만, 비슷한 이름을 가진 변수가 수 백 개가 존재한다면 비슷한 이름을 가진 변수 때문에 관리가 어려워 질 수 있을 것입니다. 그래서 다음과 같이 하나의 변수에 여러 값을 저장해서 관리하면 수월해 지겠지요.



ex #2)
<?php
$cars = array("Volvo", "BMW", "Toyota");
echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . ".";
?>
배열에는 인덱스 배열, 연관 배열, 다차원 배열이 존재하며 인덱스 배열은 항상 0 부터 시작해서 자동으로 증가 값을 가지게 됩니다.


ex #3)
<?php

$cars = array("Volvo", "BMW", "Toyota");
// 수동으로 설정 한다면

$cars[0] = "Volvo";
$cars[1] = "BMW";
$cars[2] = "Toyota";

?>
for문을 이용하여 인덱스를 생성할 수 있습니다.


ex #4)
<?php
$cars = array("Volvo", "BMW", "Toyota");
$length = count($cars);

for($i=0;$i<$length;$i++){
echo $cars[$i] . “, ”;
}

// 출력: Volvo, BMW, Toyota
?>
연관 배열이란 변수의 이름을 가지는 키를 사용한 배열을 말합니다.


ex #5)
<?php
$age = array("Peter"=>"35", "Ben"=>"37", "Joe"=>"43");
// 수동으로 설정 한다면

$age['Peter'] = "35";
$age['Ben'] = "37";
$age['Joe'] = "43";
echo "Peter is " . $age['Peter'] . " years old.";
?>
Foreach 문을 이용한 연관배열을 생성할 수도 있습니다.



ex #6)
<?php
$age = array("Peter"=>"35", "Ben"=>"37", "Joe"=>"43");

foreach($age as $key=>$value){
echo "Key=" . $key . ", Value=" . $value;
echo "<br>";
}

/*

출력:

Key=Peter, Value=35
Key=Ben, Value=37
Key=Joe, Value=43

*/
?>
다차원 배열은 1차원 배열을 가지는 기존 방식보다는 하나 이상의 배열을 포함하는 배열로서 인덱스 배열이나 연관 배열을 복합적으로 가질 수 있습니다.


ex #8)
<?php

$families = array (
"Griffin"=>array (
"Peter",
"Lois",
"Megan"

),

"Quagmire"=>array (
"Glenn"

),

"Brown"=>array (
"Cleveland",
"Loretta",
"Junior"

)

);

/*

출력:

Array (

[Griffin] => Array (

[0] => Peter

[1] => Lois

[2] => Megan

)
[Quagmire] => Array (
[0] => Glenn
)
[Brown] => Array (
[0] => Cleveland
[1] => Loretta
[2] => Junior
)
)

*/





echo $families['Griffin'][2];

// 출력: Megan

?>



ex #9)
<?php

echo "Is " . $families['Griffin'][2] . " a part of the Griffin family?";

// 출력: Is Megan a part of the Griffin family?

?>




이 포스트 공유하기

글수정  글삭제 전체목록