๋ฃจ์  ์†Œํ”„ํŠธ ๋กœ๊ณ 

216.73.216.80 TODAY : 146

PHP ๊ฐ•์˜

 > 

PHP - ์ดˆ๊ธ‰

๐Ÿ“š PHP ์ดˆ๊ธ‰ - 5์ฃผ์ฐจ: ํ•จ์ˆ˜ - 02 ๋งค๊ฐœ๋ณ€์ˆ˜ (๊ธฐ๋ณธ๊ฐ’, ๊ฐ€๋ณ€ ์ธ์ž)

๐Ÿ“š PHP ์ดˆ๊ธ‰ - 5์ฃผ์ฐจ: ํ•จ์ˆ˜ - 02 ๋งค๊ฐœ๋ณ€์ˆ˜ (๊ธฐ๋ณธ๊ฐ’, ๊ฐ€๋ณ€ ์ธ์ž)
ํ‰์  10.0 ๋ผ์ด์„ผ์Šค free
์‚ฌ์šฉ์žํ‰์  10.0 ์šด์˜์ฒด์ œ
๋‹ค์šด๋กœ๋“œ 1 ํŒŒ์ผํฌ๊ธฐ 0
์ œ์ž‘์‚ฌ LUZENSOFT ๋“ฑ๋ก์ผ 2025-06-28 17:08:21
์กฐํšŒ์ˆ˜ 24
- ์„ค๋ช…

๐Ÿ“š PHP ์ดˆ๊ธ‰ - 5์ฃผ์ฐจ: ํ•จ์ˆ˜ - 02 ๋งค๊ฐœ๋ณ€์ˆ˜ (๊ธฐ๋ณธ๊ฐ’, ๊ฐ€๋ณ€ ์ธ์ž)


์•ˆ๋…•ํ•˜์„ธ์š”! #PHP ์ดˆ๊ธ‰ ๊ฐ•์ขŒ 5์ฃผ์ฐจ ๋‘ ๋ฒˆ์งธ ์‹œ๊ฐ„์ž…๋‹ˆ๋‹ค. ์ง€๋‚œ ์‹œ๊ฐ„์—๋Š” #PHP #ํ•จ์ˆ˜ ์˜ ๊ธฐ๋ณธ์ ์ธ ์ •์˜์™€ ํ˜ธ์ถœ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์•˜์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” ํ•จ์ˆ˜๋ฅผ ๋”์šฑ ์œ ์—ฐํ•˜๊ณ  ๊ฐ•๋ ฅํ•˜๊ฒŒ ๋งŒ๋“ค์–ด์ฃผ๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ๊ณ ๊ธ‰ ํ™œ์šฉ๋ฒ•, ํŠนํžˆ ๊ธฐ๋ณธ๊ฐ’ ๋งค๊ฐœ๋ณ€์ˆ˜์™€ ๊ฐ€๋ณ€ ์ธ์ž์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.





1. ๋งค๊ฐœ๋ณ€์ˆ˜ ๊ธฐ๋ณธ๊ฐ’ (Default Parameter Values)

uploadImage


ํ•จ์ˆ˜๋ฅผ ์ •์˜ํ•  ๋•Œ ํŠน์ • #๋งค๊ฐœ๋ณ€์ˆ˜ ์— #๊ธฐ๋ณธ๊ฐ’ ์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•  ๋•Œ ํ•ด๋‹น ๋งค๊ฐœ๋ณ€์ˆ˜์— ๊ฐ’์„ ์ „๋‹ฌํ•˜์ง€ ์•Š์•„๋„ ๋ฏธ๋ฆฌ ์„ค์ •๋œ ๊ธฐ๋ณธ๊ฐ’์ด ์ž๋™์œผ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” ํ•จ์ˆ˜ ํ˜ธ์ถœ ์‹œ ์ธ์ˆ˜๋ฅผ ์ƒ๋žตํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜์—ฌ ์ฝ”๋“œ๋ฅผ ๋” ๊ฐ„๊ฒฐํ•˜๊ฒŒ ๋งŒ๋“ค๊ณ , ์œ ์—ฐ์„ฑ์„ ๋†’์—ฌ์ค๋‹ˆ๋‹ค.


1.1. ๊ธฐ๋ณธ๊ฐ’ ์„ค์ • ๋ฐฉ๋ฒ•


๋งค๊ฐœ๋ณ€์ˆ˜ ์ด๋ฆ„ ๋’ค์— = ์—ฐ์‚ฐ์ž์™€ ๊ธฐ๋ณธ๊ฐ’์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

PHP

<?php
function sendMessage($message, $recipient = "๋ชจ๋“  ์‚ฌ์šฉ์ž") {
    echo $recipient . "์—๊ฒŒ ๋ฉ”์‹œ์ง€: " . $message . "<br>";
}

// 1. recipient์— ๊ฐ’์„ ์ „๋‹ฌํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ: ๊ธฐ๋ณธ๊ฐ’ "๋ชจ๋“  ์‚ฌ์šฉ์ž"๊ฐ€ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
sendMessage("์•ˆ๋…•ํ•˜์„ธ์š”!");
// ์ถœ๋ ฅ: ๋ชจ๋“  ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ฉ”์‹œ์ง€: ์•ˆ๋…•ํ•˜์„ธ์š”!

echo "<br>";

// 2. recipient์— ๊ฐ’์„ ์ „๋‹ฌํ•œ ๊ฒฝ์šฐ: ์ „๋‹ฌ๋œ ๊ฐ’์ด ๊ธฐ๋ณธ๊ฐ’์„ ๋ฎ์–ด์”๋‹ˆ๋‹ค.
sendMessage("์˜ค๋Š˜ ๋‚ ์”จ๊ฐ€ ์ข‹๋„ค์š”.", "๋ฐ•์˜ํฌ");
// ์ถœ๋ ฅ: ๋ฐ•์˜ํฌ์—๊ฒŒ ๋ฉ”์‹œ์ง€: ์˜ค๋Š˜ ๋‚ ์”จ๊ฐ€ ์ข‹๋„ค์š”.
?>





1.2. ๊ธฐ๋ณธ๊ฐ’ ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ์œ„์น˜


์ค‘์š”: ๊ธฐ๋ณธ๊ฐ’์„ ๊ฐ€์ง„ ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” ํ•ญ์ƒ ๊ธฐ๋ณธ๊ฐ’์ด ์—†๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜ ๋’ค์— ์œ„์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. PHP๋Š” ํ•จ์ˆ˜ ํ˜ธ์ถœ ์‹œ ์ „๋‹ฌ๋œ ์ธ์ˆ˜๋ฅผ ์™ผ์ชฝ์—์„œ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ๋งค๊ฐœ๋ณ€์ˆ˜์— ํ• ๋‹นํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

PHP

<?php
// ์˜ฌ๋ฐ”๋ฅธ ์˜ˆ์‹œ: $param1์€ ํ•„์ˆ˜, $param2๋Š” ์„ ํƒ (๊ธฐ๋ณธ๊ฐ’)
function correctOrder($param1, $param2 = "๊ธฐ๋ณธ๊ฐ’") {
    echo "Param1: " . $param1 . ", Param2: " . $param2 . "<br>";
}

correctOrder("ํ•„์ˆ˜๊ฐ’"); // Param1: ํ•„์ˆ˜๊ฐ’, Param2: ๊ธฐ๋ณธ๊ฐ’
correctOrder("ํ•„์ˆ˜๊ฐ’", "์ƒˆ๋กœ์šด๊ฐ’"); // Param1: ํ•„์ˆ˜๊ฐ’, Param2: ์ƒˆ๋กœ์šด๊ฐ’

echo "<br>";

// ์ž˜๋ชป๋œ ์˜ˆ์‹œ: Syntax Error ๋ฐœ์ƒ
// function wrongOrder($param1 = "๊ธฐ๋ณธ๊ฐ’", $param2) {
//     echo "Param1: " . $param1 . ", Param2: " . $param2 . "<br>";
// }
// wrongOrder("๊ฐ’1", "๊ฐ’2"); // PHP Fatal error:  Required parameter $param2 follows optional parameter $param1
?>

์ž˜๋ชป๋œ ์˜ˆ์‹œ์ฒ˜๋Ÿผ ๊ธฐ๋ณธ๊ฐ’์ด ์žˆ๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜ ๋’ค์— ๊ธฐ๋ณธ๊ฐ’์ด ์—†๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ์˜ค๋ฉด PHP๋Š” ์–ด๋–ค ์ธ์ˆ˜๊ฐ€ ์–ด๋–ค ๋งค๊ฐœ๋ณ€์ˆ˜์— ํ• ๋‹น๋˜์–ด์•ผ ํ• ์ง€ ์•Œ ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.





2. ๊ฐ€๋ณ€ ์ธ์ž ํ•จ์ˆ˜ (Variable-length Argument Lists)


๋•Œ๋กœ๋Š” ํ•จ์ˆ˜๊ฐ€ ๋ฐ›์„ #์ธ์ˆ˜ ์˜ ๊ฐœ์ˆ˜๋ฅผ ๋ฏธ๋ฆฌ ์•Œ ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์—ฌ๋Ÿฌ ์ˆซ์ž์˜ ํ•ฉ๊ณ„๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ํ•จ์ˆ˜๋Š” ๋ช‡ ๊ฐœ์˜ ์ˆซ์ž๊ฐ€ ์ „๋‹ฌ๋ ์ง€ ์•Œ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. #PHP 5.6๋ถ€ํ„ฐ๋Š” ... (์Šคํ”Œ๋žซ ์—ฐ์‚ฐ์ž, Splat Operator)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ•จ์ˆ˜๊ฐ€ #๊ฐ€๋ณ€ ์ธ์ž ๋ฅผ ๋ฐ›์„ ์ˆ˜ ์žˆ๋„๋ก ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


2.1. ๊ฐ€๋ณ€ ์ธ์ž ์ •์˜ ๋ฐฉ๋ฒ•

uploadImageuploadImage


๋งค๊ฐœ๋ณ€์ˆ˜ ์ด๋ฆ„ ์•ž์— ...๋ฅผ ๋ถ™์ž…๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์ „๋‹ฌ๋œ ๋ชจ๋“  ์ธ์ˆ˜๊ฐ€ ํ•ด๋‹น ๋งค๊ฐœ๋ณ€์ˆ˜ ์ด๋ฆ„์˜ ๋ฐฐ์—ด๋กœ ํ•จ์ˆ˜ ๋‚ด์—์„œ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

PHP

<?php
function sumAll(...$numbers) { // ...$numbers๋Š” ๋ฐฐ์—ด ํ˜•ํƒœ๋กœ ๋ชจ๋“  ์ธ์ˆ˜๋ฅผ ๋ฐ›์Šต๋‹ˆ๋‹ค.
    $total = 0;
    foreach ($numbers as $number) {
        $total += $number;
    }
    return $total;
}

echo "ํ•ฉ๊ณ„ 1: " . sumAll(1, 2, 3) . "<br>";
// ์ถœ๋ ฅ: ํ•ฉ๊ณ„ 1: 6 (sumAll ํ•จ์ˆ˜ ๋‚ด๋ถ€์—์„œ $numbers๋Š” [1, 2, 3] ๋ฐฐ์—ด์ด ๋ฉ๋‹ˆ๋‹ค.)

echo "ํ•ฉ๊ณ„ 2: " . sumAll(10, 20, 30, 40, 50) . "<br>";
// ์ถœ๋ ฅ: ํ•ฉ๊ณ„ 2: 150 ($numbers๋Š” [10, 20, 30, 40, 50] ๋ฐฐ์—ด์ด ๋ฉ๋‹ˆ๋‹ค.)

echo "ํ•ฉ๊ณ„ 3: " . sumAll(5) . "<br>";
// ์ถœ๋ ฅ: ํ•ฉ๊ณ„ 3: 5 ($numbers๋Š” [5] ๋ฐฐ์—ด์ด ๋ฉ๋‹ˆ๋‹ค.)

echo "ํ•ฉ๊ณ„ 4: " . sumAll() . "<br>";
// ์ถœ๋ ฅ: ํ•ฉ๊ณ„ 4: 0 ($numbers๋Š” ๋นˆ ๋ฐฐ์—ด []์ด ๋ฉ๋‹ˆ๋‹ค.)
?>





2.2. ๊ฐ€๋ณ€ ์ธ์ž์™€ ๋‹ค๋ฅธ ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ์กฐํ•ฉ


๊ฐ€๋ณ€ ์ธ์ž๋Š” ๋‹ค๋ฅธ ์ผ๋ฐ˜ ๋งค๊ฐœ๋ณ€์ˆ˜์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ ๊ฐ€๋ณ€ ์ธ์ž ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” ํ•ญ์ƒ ๋งˆ์ง€๋ง‰์— ์œ„์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

PHP

<?php
function createPlaylist($playlistName, ...$songs) {
    echo "ํ”Œ๋ ˆ์ด๋ฆฌ์ŠคํŠธ: " . $playlistName . "<br>";
    if (empty($songs)) {
        echo "์ด ํ”Œ๋ ˆ์ด๋ฆฌ์ŠคํŠธ์—๋Š” ์•„์ง ๋…ธ๋ž˜๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.<br>";
    } else {
        echo "ํฌํ•จ๋œ ๋…ธ๋ž˜:<br>";
        foreach ($songs as $song) {
            echo "- " . $song . "<br>";
        }
    }
    echo "<br>";
}

createPlaylist("๋‚˜์˜ ์ฆ๊ฒจ์ฐพ๊ธฐ", "Dynamite", "Butter", "Permission to Dance");
// ์ถœ๋ ฅ:
// ํ”Œ๋ ˆ์ด๋ฆฌ์ŠคํŠธ: ๋‚˜์˜ ์ฆ๊ฒจ์ฐพ๊ธฐ
// ํฌํ•จ๋œ ๋…ธ๋ž˜:
// - Dynamite
// - Butter
// - Permission to Dance

createPlaylist("ํœด์‹ ์Œ์•…");
// ์ถœ๋ ฅ:
// ํ”Œ๋ ˆ์ด๋ฆฌ์ŠคํŠธ: ํœด์‹ ์Œ์•…
// ์ด ํ”Œ๋ ˆ์ด๋ฆฌ์ŠคํŠธ์—๋Š” ์•„์ง ๋…ธ๋ž˜๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.
?>





2.3. ๋ฐฐ์—ด์„ ๊ฐ€๋ณ€ ์ธ์ž๋กœ ์ „๋‹ฌํ•˜๊ธฐ


์ด๋ฏธ ๋ฐฐ์—ด๋กœ ์กด์žฌํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€๋ณ€ ์ธ์ž ํ•จ์ˆ˜์— ์ „๋‹ฌํ•  ๋•Œ๋Š” ๋‹ค์‹œ ... ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐฐ์—ด์„ "ํŽผ์ณ์„œ(unpack)" ๊ฐœ๋ณ„ ์ธ์ž๋กœ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

PHP

<?php
$numbersToAdd = [100, 200, 300];
echo "๋ฐฐ์—ด ํ•ฉ๊ณ„: " . sumAll(...$numbersToAdd) . "<br>";
// ์ถœ๋ ฅ: ๋ฐฐ์—ด ํ•ฉ๊ณ„: 600
// sumAll(100, 200, 300)๊ณผ ๋™์ผํ•˜๊ฒŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.
?>





๊ฒฐ๋ก 


์ด๋ฒˆ #PHP ์ดˆ๊ธ‰ ๊ฐ•์ขŒ์—์„œ๋Š” #ํ•จ์ˆ˜ ์˜ #๋งค๊ฐœ๋ณ€์ˆ˜ ๋ฅผ ๋”์šฑ ์œ ์—ฐํ•˜๊ฒŒ ํ™œ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ธ #๊ธฐ๋ณธ๊ฐ’ ๋งค๊ฐœ๋ณ€์ˆ˜์™€ #๊ฐ€๋ณ€ ์ธ์ž์— ๋Œ€ํ•ด ๊นŠ์ด ์žˆ๊ฒŒ ์•Œ์•„๋ณด์•˜์Šต๋‹ˆ๋‹ค. ์ด ๋‘ ๊ฐ€์ง€ ๊ธฐ๋Šฅ์€ ํ•จ์ˆ˜๋ฅผ ๋” ๊ฐ•๋ ฅํ•˜๊ณ  ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋งŒ๋“ค์–ด์ฃผ๋ฉฐ, ๋‹ค์–‘ํ•œ ์ƒํ™ฉ์— ๋Œ€์‘ํ•  ์ˆ˜ ์žˆ๋Š” ์œ ์—ฐํ•œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋ฐ ํ•„์ˆ˜์ ์ž…๋‹ˆ๋‹ค. ์˜ค๋Š˜ ๋ฐฐ์šด ๋‚ด์šฉ์„ ๋ฐ”ํƒ•์œผ๋กœ ์‹ค์ œ ์ฝ”๋“œ์— ์ ์šฉํ•ด๋ณด๋ฉด์„œ ์ˆ™๋‹ฌํ•˜์‹œ๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค.