์จ๋ผ์ธ ๊ฐ์
>PHP - ์ด๊ธ
๐ PHP ์ด๊ธ - 6์ฃผ์ฐจ: ๋ฐฐ์ด - 03 ๋ค์ฐจ์ ๋ฐฐ์ด
				์ฃผ์ ํ๋ก๊ทธ๋จ ์คํ
- ํ์ : 10.0
 - ๋ผ์ด์ ์ค: free
 - ์ด์์ฒด์ :
 - ํ์ผ ํฌ๊ธฐ: 0
 
ํผ๋๋ฐฑ ๋ฐ ๋ค์ด๋ก๋
- ์ฌ์ฉ์ ํ์ : 10.0
 - ๋ค์ด๋ก๋ ์: 1
 - ์กฐํ์: 85
 
์ ์กฐ์ฌ ๋ฐ ๋ฑ๋ก ์ ๋ณด
- ์ ์์ฌ: LUZENSOFT
 - ๋ฑ๋ก์ผ: 2025-06-30 17:15:43
 
- ์ค๋ช
๐ 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๋ฐฐ์ดํจ์ ๋ค์ ๋ํด ํ์ตํ๊ฒ ์ต๋๋ค.