
PHP ์จ๋ผ์ธ ๊ฐ์
>PHP - ์ด๊ธ
๐ PHP ์ด๊ธ - 6์ฃผ์ฐจ: ๋ฐฐ์ด - 03 ๋ค์ฐจ์ ๋ฐฐ์ด
![]() |
ํ์ | 10.0 | ๋ผ์ด์ผ์ค | free |
---|---|---|---|---|
์ฌ์ฉ์ํ์ | 10.0 | ์ด์์ฒด์ | ||
๋ค์ด๋ก๋ | 1 | ํ์ผํฌ๊ธฐ | 0 | |
์ ์์ฌ | LUZENSOFT | ๋ฑ๋ก์ผ | 2025-06-30 17:15:43 | |
์กฐํ์ | 35 |
๐ PHP ์ด๊ธ - 6์ฃผ์ฐจ: ๋ฐฐ์ด - 03 ๋ค์ฐจ์ ๋ฐฐ์ด
์๋ ํ์ธ์! #PHP ์ด๊ธ ๊ฐ์ข 6์ฃผ์ฐจ ์ธ ๋ฒ์งธ ์๊ฐ์ ๋๋ค. ์ง๋ ์๊ฐ์๋ #PHP #๋ฐฐ์ด ์ ๊ธฐ๋ณธ์ธ #์ธ๋ฑ์ค๋ฐฐ์ด ๊ณผ #์ฐ๊ด๋ฐฐ์ด ์ ๋ํด ๊น์ด ์๊ฒ ์์๋ณด์๋๋ฐ์. ์ด๋ฒ ์๊ฐ์๋ ๋ฐฐ์ด์ ํ์ฉ ๋ฒ์๋ฅผ ํ ๋จ๊ณ ๋ ๋ํ์ฃผ๋ ๋ค์ฐจ์ ๋ฐฐ์ด (Multidimensional Array) ์ ๋ํด ํ์ตํ๊ฒ ์ต๋๋ค. ๋ค์ฐจ์ ๋ฐฐ์ด์ ๋ณต์กํ ๋ฐ์ดํฐ๋ฅผ ๊ตฌ์กฐ์ ์ผ๋ก ์ ์ฅํ๊ณ ๊ด๋ฆฌํ ๋ ๋งค์ฐ ์ ์ฉํ๊ฒ ์ฌ์ฉ๋ฉ๋๋ค.
1. ๋ค์ฐจ์ ๋ฐฐ์ด์ด๋ ๋ฌด์์ธ๊ฐ?
#๋ค์ฐจ์๋ฐฐ์ด ์ ๋ฐฐ์ด ์์ ๋ ๋ค๋ฅธ ๋ฐฐ์ด์ด ํฌํจ๋ ํํ์ ๋ฐฐ์ด์ ๋งํฉ๋๋ค. ์ฆ, ๋ฐฐ์ด์ ๊ฐ ์์๊ฐ ๋จ์ผ ๊ฐ์ด ์๋๋ผ ๋ ๋ค๋ฅธ ๋ฐฐ์ด์ธ ๊ฒฝ์ฐ๋ฅผ ์๋ฏธํ์ฃ . ๊ฐ์ฅ ํํ๊ฒ ์ฌ์ฉ๋๋ ํํ๋ 2์ฐจ์ ๋ฐฐ์ด๋ก, ์ด๋ ๋ง์น ์คํ๋ ๋์ํธ๋ ํ(ํ ์ด๋ธ)์ฒ๋ผ ํ๊ณผ ์ด์ ํํ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ๋ ์ ์ฉํฉ๋๋ค.
์๋ฅผ ๋ค์ด, ํ์๋ค์ ์ฑ์ ์ ๋ณด๋ฅผ ์ ์ฅํ๋ค๊ณ ํ ๋, ํ ํ์์ ์ ๋ณด(์ด๋ฆ, ๊ณผ๋ชฉ1 ์ ์, ๊ณผ๋ชฉ2 ์ ์)๋ฅผ ํ๋์ ๋ฐฐ์ด๋ก ๋ฌถ๊ณ , ์ด ํ์ ๋ฐฐ์ด๋ค์ ๋ค์ ํ๋์ ํฐ ๋ฐฐ์ด์ ๋ด๋๋ค๋ฉด ๊ทธ๊ฒ์ด ๋ฐ๋ก 2์ฐจ์ ๋ฐฐ์ด์ด ๋ฉ๋๋ค.
2. ๋ค์ฐจ์ ๋ฐฐ์ด ์ ์ธ ๋ฐ ์ด๊ธฐํ
๋ค์ฐจ์ ๋ฐฐ์ด๋ ๊ธฐ๋ณธ ๋ฐฐ์ด๊ณผ ๋์ผํ๊ฒ array()
ํจ์ ๋๋ ์งง์ ๋ฐฐ์ด ๋ฌธ๋ฒ []
๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ธํ๊ณ ์ด๊ธฐํํฉ๋๋ค. ๋ค๋ง, ์์๋ก ๋ค๋ฅธ ๋ฐฐ์ด์ ๋ฃ๋๋ค๋ ์ ์ด ๋ค๋ฆ
๋๋ค.
2.1. 2์ฐจ์ ๋ฐฐ์ด์ ์ ์ธ ๋ฐ ์ด๊ธฐํ
๊ฐ์ฅ ์ผ๋ฐ์ ์ธ ๋ค์ฐจ์ ๋ฐฐ์ด์ธ 2์ฐจ์ ๋ฐฐ์ด์ '๋ฐฐ์ด์ ๋ฐฐ์ด' ํํ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
PHP
<?php
// 2์ฐจ์ ์ธ๋ฑ์ค ๋ฐฐ์ด (์: ๊ฐ๋จํ ์ฑ์ ํ)
$scores = [
[90, 85, 70], // ์ฒซ ๋ฒ์งธ ํ์์ ์ ์ (์ํ, ๊ณผํ, ์์ด)
[80, 90, 95], // ๋ ๋ฒ์งธ ํ์์ ์ ์
[75, 70, 80] // ์ธ ๋ฒ์งธ ํ์์ ์ ์
];
echo "<pre>";
print_r($scores);
echo "</pre>";
/* ์ถ๋ ฅ:
Array
(
[0] => Array
(
[0] => 90
[1] => 85
[2] => 70
)
[1] => Array
(
[0] => 80
[1] => 90
[2] => 95
)
[2] => Array
(
[0] => 75
[1] => 70
[2] => 80
)
)
*/
echo "<br>";
// 2์ฐจ์ ์ฐ๊ด ๋ฐฐ์ด (์: ์ฌ์ฉ์ ์ ๋ณด)
$users = [
"user1" => [
"name" => "๊น์ฒ ์",
"email" => "chulsu@example.com",
"age" => 30
],
"user2" => [
"name" => "์ด์ํฌ",
"email" => "younghee@example.com",
"age" => 25
],
"user3" => [
"name" => "๋ฐ๋ณด๊ฒ",
"email" => "bogum@example.com",
"age" => 35
]
];
echo "<pre>";
print_r($users);
echo "</pre>";
/* ์ถ๋ ฅ:
Array
(
[user1] => Array
(
[name] => ๊น์ฒ ์
[email] => chulsu@example.com
[age] => 30
)
[user2] => Array
(
[name] => ์ด์ํฌ
[email] => younghee@example.com
[age] => 25
)
[user3] => Array
(
[name] => ๋ฐ๋ณด๊ฒ
[email] => bogum@example.com
[age] => 35
)
)
*/
?>
2์ฐจ์ ๋ฐฐ์ด์ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ฐ๊นฅ์ชฝ ๋ฐฐ์ด์ ์ธ๋ฑ์ค์ ์์ชฝ ๋ฐฐ์ด์ ์ธ๋ฑ์ค/ํค๋ฅผ ์กฐํฉํ์ฌ ๋ฐ์ดํฐ์ ์ ๊ทผํฉ๋๋ค.
3. ๋ค์ฐจ์ ๋ฐฐ์ด ์์์ ์ ๊ทผํ๊ธฐ
๋ค์ฐจ์ ๋ฐฐ์ด์ ํน์ ์์์ ์ ๊ทผํ๋ ค๋ฉด, ๊ฐ ์ฐจ์์ ์ธ๋ฑ์ค ๋๋ ํค๋ฅผ ์ฐจ๋ก๋๋ก ๋๊ดํธ []
์์ ๋์ดํฉ๋๋ค.
3.1. 2์ฐจ์ ์ธ๋ฑ์ค ๋ฐฐ์ด ์์ ์ ๊ทผ
PHP
<?php
$scores = [
[90, 85, 70], // ์ฒซ ๋ฒ์งธ ํ์
[80, 90, 95], // ๋ ๋ฒ์งธ ํ์
[75, 70, 80] // ์ธ ๋ฒ์งธ ํ์
];
// ์ฒซ ๋ฒ์งธ ํ์ (์ธ๋ฑ์ค 0)์ ๋ ๋ฒ์งธ ๊ณผ๋ชฉ (์ธ๋ฑ์ค 1) ์ ์
echo "์ฒซ ๋ฒ์งธ ํ์์ ๊ณผํ ์ ์: " . $scores[0][1] . "<br>"; // ์ถ๋ ฅ: ์ฒซ ๋ฒ์งธ ํ์์ ๊ณผํ ์ ์: 85
// ์ธ ๋ฒ์งธ ํ์ (์ธ๋ฑ์ค 2)์ ์ฒซ ๋ฒ์งธ ๊ณผ๋ชฉ (์ธ๋ฑ์ค 0) ์ ์
echo "์ธ ๋ฒ์งธ ํ์์ ์ํ ์ ์: " . $scores[2][0] . "<br>"; // ์ถ๋ ฅ: ์ธ ๋ฒ์งธ ํ์์ ์ํ ์ ์: 75
// ๊ฐ ๋ณ๊ฒฝํ๊ธฐ
$scores[1][2] = 100; // ๋ ๋ฒ์งธ ํ์์ ์์ด ์ ์๋ฅผ 100์ผ๋ก ๋ณ๊ฒฝ
echo "๋ณ๊ฒฝ ํ ๋ ๋ฒ์งธ ํ์์ ์์ด ์ ์: " . $scores[1][2] . "<br>"; // ์ถ๋ ฅ: ๋ณ๊ฒฝ ํ ๋ ๋ฒ์งธ ํ์์ ์์ด ์ ์: 100
?>
3.2. 2์ฐจ์ ์ฐ๊ด ๋ฐฐ์ด ์์ ์ ๊ทผ
PHP
<?php
$users = [
"user1" => [
"name" => "๊น์ฒ ์",
"email" => "chulsu@example.com",
"age" => 30
],
"user2" => [
"name" => "์ด์ํฌ",
"email" => "younghee@example.com",
"age" => 25
]
];
// user1์ ์ด๋ฆ ์ ๋ณด
echo "user1์ ์ด๋ฆ: " . $users["user1"]["name"] . "<br>"; // ์ถ๋ ฅ: user1์ ์ด๋ฆ: ๊น์ฒ ์
// user2์ ์ด๋ฉ์ผ ์ ๋ณด
echo "user2์ ์ด๋ฉ์ผ: " . $users["user2"]["email"] . "<br>"; // ์ถ๋ ฅ: user2์ ์ด๋ฉ์ผ: younghee@example.com
// ๊ฐ ๋ณ๊ฒฝํ๊ธฐ
$users["user1"]["age"] = 31; // user1์ ๋์ด๋ฅผ 31๋ก ๋ณ๊ฒฝ
echo "๋ณ๊ฒฝ ํ user1์ ๋์ด: " . $users["user1"]["age"] . "<br>"; // ์ถ๋ ฅ: ๋ณ๊ฒฝ ํ user1์ ๋์ด: 31
?>
4. ๋ค์ฐจ์ ๋ฐฐ์ด ๋ฐ๋ณต๋ฌธ์ผ๋ก ๋ค๋ฃจ๊ธฐ
๋ค์ฐจ์ ๋ฐฐ์ด์ ๋ชจ๋ ์์์ ์ ๊ทผํ๊ฑฐ๋ ํน์ ์กฐ๊ฑด์ ๋ฐ๋ผ ์์๋ฅผ ์ฒ๋ฆฌํ๋ ค๋ฉด #๋ฐ๋ณต๋ฌธ ์ ์ค์ฒฉํ์ฌ ์ฌ์ฉํด์ผ ํฉ๋๋ค. ์ฃผ๋ก foreach
๋ฐ๋ณต๋ฌธ์ด ๋ง์ด ์ฌ์ฉ๋ฉ๋๋ค.
4.1. 2์ฐจ์ ๋ฐฐ์ด ์ ์ฒด ์์ ์ถ๋ ฅ (foreach ์ค์ฒฉ)
PHP
<?php
$scores = [
["๊น์ฒ ์", 90, 85, 70],
["์ด์ํฌ", 80, 90, 95],
["๋ฐ๋ฏผ์", 75, 70, 80]
];
echo "<h3>ํ์๋ณ ์ฑ์ ํ:</h3>";
echo "<table border='1'>";
echo "<tr><th>์ด๋ฆ</th><th>์ํ</th><th>๊ณผํ</th><th>์์ด</th></tr>";
foreach ($scores as $student) {
echo "<tr>";
foreach ($student as $data) {
echo "<td>" . $data . "</td>";
}
echo "</tr>";
}
echo "</table>";
echo "<br>";
$users = [
"user1" => [
"name" => "๊น์ฒ ์",
"email" => "chulsu@example.com",
"age" => 30
],
"user2" => [
"name" => "์ด์ํฌ",
"email" => "younghee@example.com",
"age" => 25
]
];
echo "<h3>์ฌ์ฉ์ ์ ๋ณด:</h3>";
echo "<table border='1'>";
echo "<tr><th>ID</th><th>์ด๋ฆ</th><th>์ด๋ฉ์ผ</th><th>๋์ด</th></tr>";
foreach ($users as $userId => $userInfo) {
echo "<tr>";
echo "<td>" . $userId . "</td>"; // ์ธ๋ถ ํค ์ถ๋ ฅ
foreach ($userInfo as $key => $value) {
echo "<td>" . $value . "</td>"; // ๋ด๋ถ ๊ฐ ์ถ๋ ฅ
}
echo "</tr>";
}
echo "</table>";
?>
foreach ($scores as $student)
๋ $scores
๋ฐฐ์ด์ ๊ฐ ํ(์ฌ๊ธฐ์๋ ๊ฐ ํ์์ ์ ๋ณด)์ $student
๋ผ๋ ๋ณ์์ ํ ๋นํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ foreach ($student as $data)
๋ $student
๋ฐฐ์ด(๊ฐ ํ์์ ์ ๋ณด ๋ฐฐ์ด) ์์ ๊ฐ๋ณ ๋ฐ์ดํฐ(์ด๋ฆ, ์ ์)๋ฅผ $data
์ ํ ๋นํ์ฌ ์ถ๋ ฅํฉ๋๋ค.
์ฐ๊ด ๋ฐฐ์ด์ ๊ฒฝ์ฐ foreach ($users as $userId => $userInfo)
๋ฅผ ์ฌ์ฉํ์ฌ ์ธ๋ถ ํค(userId
)์ ๋ด๋ถ ๋ฐฐ์ด(userInfo
)์ ๋์์ ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค.
5. ๋ค์ฐจ์ ๋ฐฐ์ด์ ์์ ์ถ๊ฐํ๊ธฐ
๋ค์ฐจ์ ๋ฐฐ์ด์ ์๋ก์ด ํ(๋ฐฐ์ด)์ ์ถ๊ฐํ๊ฑฐ๋, ๊ธฐ์กด ํ์ ์๋ก์ด ์ด(์์)์ ์ถ๊ฐํ ์ ์์ต๋๋ค.
5.1. ์๋ก์ด ํ(๋ฐฐ์ด) ์ถ๊ฐ
PHP
<?php
$scores = [
[90, 85, 70],
[80, 90, 95]
];
// ์๋ก์ด ํ์์ ์ ์ ์ถ๊ฐ (๋ฐฐ์ด์ ๋์ ์ ๋ฐฐ์ด ์ถ๊ฐ)
$scores[] = [60, 65, 70];
echo "<pre>";
print_r($scores);
echo "</pre>";
/* ์ถ๋ ฅ:
Array
(
[0] => Array
( ... )
[1] => Array
( ... )
[2] => Array
(
[0] => 60
[1] => 65
[2] => 70
)
)
*/
echo "<br>";
$users = [
"user1" => ["name" => "๊น์ฒ ์", "age" => 30],
"user2" => ["name" => "์ด์ํฌ", "age" => 25]
];
// ์๋ก์ด ์ฌ์ฉ์ ์ ๋ณด ์ถ๊ฐ (์ ํค์ ํจ๊ป ์ ๋ฐฐ์ด ์ถ๊ฐ)
$users["user3"] = ["name" => "๋ฐ์ง๋ฏผ", "age" => 28];
echo "<pre>";
print_r($users);
echo "</pre>";
/* ์ถ๋ ฅ:
Array
(
[user1] => Array ( ... )
[user2] => Array ( ... )
[user3] => Array
(
[name] => ๋ฐ์ง๋ฏผ
[age] => 28
)
)
*/
?>
5.2. ๊ธฐ์กด ํ์ ์๋ก์ด ์ด(์์) ์ถ๊ฐ
PHP
<?php
$scores = [
[90, 85, 70], // ์ฒซ ๋ฒ์งธ ํ์
[80, 90, 95] // ๋ ๋ฒ์งธ ํ์
];
// ์ฒซ ๋ฒ์งธ ํ์์๊ฒ ์๋ก์ด ๊ณผ๋ชฉ(์ฒด์ก) ์ ์ ์ถ๊ฐ
$scores[0][] = 95; // ์ธ๋ฑ์ค 0์ ๋ฐฐ์ด ๋์ 95 ์ถ๊ฐ
echo "<pre>";
print_r($scores);
echo "</pre>";
/* ์ถ๋ ฅ:
Array
(
[0] => Array
(
[0] => 90
[1] => 85
[2] => 70
[3] => 95 // ์ถ๊ฐ๋จ
)
[1] => Array
( ... )
)
*/
echo "<br>";
$users = [
"user1" => [
"name" => "๊น์ฒ ์",
"email" => "chulsu@example.com",
"age" => 30
]
];
// user1์๊ฒ ์ ํ๋ฒํธ ์ ๋ณด ์ถ๊ฐ
$users["user1"]["phone"] = "010-1234-5678";
echo "<pre>";
print_r($users);
echo "</pre>";
/* ์ถ๋ ฅ:
Array
(
[user1] => Array
(
[name] => ๊น์ฒ ์
[email] => chulsu@example.com
[age] => 30
[phone] => 010-1234-5678 // ์ถ๊ฐ๋จ
)
)
*/
?>
๊ฒฐ๋ก
์ด๋ฒ #PHP ์ด๊ธ ๊ฐ์ข์์๋ #๋ค์ฐจ์๋ฐฐ์ด ์ด ๋ฌด์์ธ์ง, ์ด๋ป๊ฒ #๋ค์ฐจ์๋ฐฐ์ด์ ์ธ ๋ฐ #๋ค์ฐจ์๋ฐฐ์ด์ด๊ธฐํ ๋ฅผ ํ๋์ง, ๊ทธ๋ฆฌ๊ณ #๋ค์ฐจ์๋ฐฐ์ด์์ ์ #๋ค์ฐจ์๋ฐฐ์ด์ ๊ทผ ํ๋ ๋ฐฉ๋ฒ๊ณผ #๋ค์ฐจ์๋ฐฐ์ด๋ฐ๋ณต๋ฌธ ์ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ณด์์ต๋๋ค. ๋ณต์กํ ๋ฐ์ดํฐ๋ฅผ ํจ์จ์ ์ผ๋ก ๊ตฌ์กฐํํ๊ณ ๊ด๋ฆฌํ๋ ๋ฐ ๋ค์ฐจ์ ๋ฐฐ์ด์ ๋งค์ฐ ๊ฐ๋ ฅํ ๋๊ตฌ์ ๋๋ค.
๋ค์ ์๊ฐ์๋ ๋ฐฐ์ด์์ ํน์ ์์๋ฅผ ๊ฒ์ํ๊ฑฐ๋, ๋ฐฐ์ด์ ์ ๋ ฌํ๋ ๋ฑ ๋ฐฐ์ด์ ๋ค๋ฃจ๋ ๋ฐ ์ ์ฉํ ๋ค์ํ #PHP๋ฐฐ์ดํจ์ ๋ค์ ๋ํด ํ์ตํ๊ฒ ์ต๋๋ค.