[기타] 배열 array
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?
?>
배열이란 하나의 변수에 여러 값을 저장할 수 있는 특수한 변수를 말합니다.
예를 들어 다음의 변수가 있다고 가정해 보겠습니다.
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?
?>