
PHP ๊ฐ์
>PHP - ์ด๊ธ
๐ PHP ์ด๊ธ - 5์ฃผ์ฐจ: ํจ์ - ํจ์ ์ ์ ๋ฐ ํธ์ถ
![]() |
ํ์ | 10.0 | ๋ผ์ด์ผ์ค | free |
---|---|---|---|---|
์ฌ์ฉ์ํ์ | 10.0 | ์ด์์ฒด์ | ||
๋ค์ด๋ก๋ | 1 | ํ์ผํฌ๊ธฐ | 0 | |
์ ์์ฌ | LUZENSOFT | ๋ฑ๋ก์ผ | 2025-06-28 17:00:16 | |
์กฐํ์ | 14 |
๐ PHP ์ด๊ธ - 5์ฃผ์ฐจ: ํจ์ - ํจ์ ์ ์ ๋ฐ ํธ์ถ
์๋
ํ์ธ์! #PHP ์ด๊ธ ๊ฐ์ข 5์ฃผ์ฐจ์ ์ค์ ๊ฒ์ ํ์ํฉ๋๋ค. ์ง๋ ์๊ฐ์๋ #๋ฐ๋ณต๋ฌธ ์ ํ๋ฆ์ ์ ์ดํ๋ break
์ continue
ํค์๋๋ฅผ ํจ์ ๋ด์์ ์ด๋ป๊ฒ ์ฌ์ฉํ๋์ง ์์๋ณด์์ต๋๋ค. ์ด๋ฒ ์๊ฐ์๋ #PHP ์ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ด๊ณ ํต์ฌ์ ์ธ ๊ฐ๋
์ค ํ๋์ธ ํจ์์ ๋ํด ์ฌ์ธต์ ์ผ๋ก ๋ค๋ฃจ์ด ๋ณด๊ฒ ์ต๋๋ค. ํจ์๋ฅผ ์ ์ํ๊ณ ํธ์ถํ๋ ๋ฐฉ๋ฒ์ ์ตํ ์ฝ๋๋ฅผ ๋ ํจ์จ์ ์ด๊ณ ์ฒด๊ณ์ ์ผ๋ก ๊ด๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์๋ด
์๋ค.
1. ํจ์๋ ๋ฌด์์ธ๊ฐ?
#ํจ์ ๋ ํน์ ์์
์ ์ํํ๋๋ก ์ค๊ณ๋ ์ฝ๋ ๋ธ๋ก์
๋๋ค. ์ฐ๋ฆฌ๊ฐ ํํ ์ฌ์ฉํ๋ echo
, print_r
, var_dump
๋ฑ๋ ๋ชจ๋ ๋ฏธ๋ฆฌ ์ ์๋ ํจ์๋ค์
๋๋ค. ํจ์๋ฅผ ์ฌ์ฉํ๋ฉด ๋ค์๊ณผ ๊ฐ์ ์ด์ ์ ์ป์ ์ ์์ต๋๋ค.
์ฌ์ฌ์ฉ์ฑ ์ฆ๊ฐ: ํ ๋ฒ ์ ์ํ ํจ์๋ ์ฌ๋ฌ ๋ฒ ํธ์ถํ์ฌ ์ฌ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋์ผํ ์ฝ๋๋ฅผ ๋ฐ๋ณตํด์ ์์ฑํ ํ์๊ฐ ์์ด์ง๋๋ค.
์ฝ๋์ ๋ชจ๋ํ: ํ๋ก๊ทธ๋จ์ ์์ ๊ธฐ๋ฅ ๋จ์๋ก ๋๋์ด ๊ด๋ฆฌํ ์ ์์ด, ์ฝ๋์ ๊ฐ๋ ์ฑ๊ณผ ์ ์ง๋ณด์์ฑ์ด ํฅ์๋ฉ๋๋ค.
์ค๋ฅ ๊ฐ์: ํน์ ๊ธฐ๋ฅ์ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ ๋, ํด๋น ํจ์๋ง ์์ ํ๋ฉด ๋๋ฏ๋ก ์ค๋ฅ๋ฅผ ์ฝ๊ฒ ์ฐพ์๋ด๊ณ ์์ ํ ์ ์์ต๋๋ค.
2. ํจ์ ์ ์ํ๊ธฐ
#PHP ์์ ํจ์๋ฅผ ์ ์ํ ๋๋ function
ํค์๋๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๊ธฐ๋ณธ ๋ฌธ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
PHP
<?php
function ํจ์์ด๋ฆ(๋งค๊ฐ๋ณ์1, ๋งค๊ฐ๋ณ์2, ...) {
// ํจ์๊ฐ ์คํํ ์ฝ๋
// ์ ํ์ ์ผ๋ก ๊ฐ์ ๋ฐํํ ์ ์์ต๋๋ค.
return ๋ฐํ๊ฐ;
}
?>
function
: ํจ์๋ฅผ ์ ์ํ ๋ ์ฌ์ฉํ๋ ํ์ ํค์๋์ ๋๋ค.ํจ์์ด๋ฆ
: ํจ์์ ๋ชฉ์ ์ ๋ช ํํ ๋ํ๋ด๋ ์ด๋ฆ์ ์ง์ ํฉ๋๋ค. (์:calculateSum
,displayMessage
) ํจ์ ์ด๋ฆ์ ์๋ฌธ์, ์ซ์, ๋ฐ์ค(_)๋ก ๊ตฌ์ฑ๋ ์ ์์ผ๋ฉฐ, ์ซ์๋ก ์์ํ ์ ์์ต๋๋ค. ๋์๋ฌธ์๋ฅผ ๊ตฌ๋ถํ์ง ์์ง๋ง, ์ผ๋ฐ์ ์ผ๋ก ์นด๋ฉ ์ผ์ด์ค(camelCase)๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ๊ด๋ก์ ๋๋ค.๋งค๊ฐ๋ณ์(Parameter)
: ํจ์๊ฐ ์์ ์ ์ํํ๋ ๋ฐ ํ์ํ ๊ฐ์ ์ธ๋ถ๋ก๋ถํฐ ๋ฐ์ ๋ ์ฌ์ฉํฉ๋๋ค. ๊ดํธ()
์์ ์ผํ๋ก ๊ตฌ๋ถํ์ฌ ์ฌ๋ฌ ๊ฐ๋ฅผ ์ ์ํ ์ ์์ผ๋ฉฐ, ํ์ ์์ผ๋ฉด ์๋ตํ ์ ์์ต๋๋ค.{}
: ์ค๊ดํธ ์์๋ ํจ์๊ฐ ์คํํ ์ค์ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค.return
: (์ ํ ์ฌํญ) ํจ์๊ฐ ์์ ์ ๋ง์น ํ ๊ฒฐ๊ณผ๋ฅผ ํธ์ถํ ๊ณณ์ผ๋ก ๋๋ ค์ค ๋ ์ฌ์ฉํฉ๋๋ค.return
๋ฌธ์ด ์คํ๋๋ฉด ํจ์๋ ์ฆ์ ์ข ๋ฃ๋ฉ๋๋ค.return
๋ฌธ์ด ์์ผ๋ฉด ํจ์๋NULL
์ ๋ฐํํฉ๋๋ค.
2.1. ๋งค๊ฐ๋ณ์ ์๋ ํจ์
๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ํํ์ ํจ์์ ๋๋ค. ํน์ ๊ณ ์ ๋ ์์ ์ ์ํํ ๋ ์ ์ฉํฉ๋๋ค.
PHP
<?php
function sayHello() {
echo "์๋
ํ์ธ์, PHP ํจ์๋ฅผ ๋ฐฐ์ฐ๊ณ ์์ต๋๋ค!<br>";
}
?>
2.2. ๋งค๊ฐ๋ณ์ ์๋ ํจ์
ํจ์ ์ธ๋ถ๋ก๋ถํฐ ๊ฐ์ ์ ๋ฌ๋ฐ์ ๋์ ์ธ ์์ ์ ์ํํ ์ ์๋๋ก ํฉ๋๋ค.
PHP
<?php
function greetUser($name) { // $name์ด ๋งค๊ฐ๋ณ์
echo "ํ์ํฉ๋๋ค, " . $name . "๋!<br>";
}
?>
2.3. ๋ฐํ๊ฐ์ด ์๋ ํจ์
ํจ์๊ฐ ์ด๋ค ๊ณ์ฐ์ด๋ ์ฒ๋ฆฌ์ ๊ฒฐ๊ณผ๋ฅผ ๋๋ ค์ค ํ์๊ฐ ์์ ๋ return
์ ์ฌ์ฉํฉ๋๋ค.
PHP
<?php
function addNumbers($num1, $num2) {
$sum = $num1 + $num2;
return $sum; // ๊ณ์ฐ๋ ํฉ๊ณ๋ฅผ ๋ฐํ
}
?>
3. ํจ์ ํธ์ถํ๊ธฐ
ํจ์๋ฅผ ์ ์ํ๋ค๊ณ ํด์ ์๋์ผ๋ก ์คํ๋๋ ๊ฒ์ ์๋๋๋ค. ์ ์๋ ํจ์๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ํจ์ ํธ์ถ(Function Call) ์ด๋ผ๋ ๊ณผ์ ์ ๊ฑฐ์ณ์ผ ํฉ๋๋ค. ํจ์ ํธ์ถ์ ํจ์ ์ด๋ฆ์ ์์ฑํ๊ณ ๊ทธ ๋ค์ ๊ดํธ ()
๋ฅผ ๋ถ์ด๋ ๋ฐฉ์์ผ๋ก ์ด๋ฃจ์ด์ง๋๋ค. ๋งค๊ฐ๋ณ์๊ฐ ํ์ํ ํจ์๋ผ๋ฉด ๊ดํธ ์์ ๊ฐ์ ์ ๋ฌํฉ๋๋ค. ์ด ์ ๋ฌ๋๋ ๊ฐ์ #์ธ์(Argument) ๋ผ๊ณ ํฉ๋๋ค.
PHP
<?php
// ๋งค๊ฐ๋ณ์ ์๋ ํจ์ ํธ์ถ
sayHello(); // ์ถ๋ ฅ: ์๋
ํ์ธ์, PHP ํจ์๋ฅผ ๋ฐฐ์ฐ๊ณ ์์ต๋๋ค!
echo "<br>";
// ๋งค๊ฐ๋ณ์ ์๋ ํจ์ ํธ์ถ
greetUser("๊น์ฒ ์"); // ์ถ๋ ฅ: ํ์ํฉ๋๋ค, ๊น์ฒ ์๋!
greetUser("์ด์ํฌ"); // ์ถ๋ ฅ: ํ์ํฉ๋๋ค, ์ด์ํฌ๋!
echo "<br>";
// ๋ฐํ๊ฐ์ด ์๋ ํจ์ ํธ์ถ
$result = addNumbers(5, 7); // addNumbers ํจ์๋ฅผ ํธ์ถํ๊ณ ๋ฐํ๊ฐ์ $result ๋ณ์์ ์ ์ฅ
echo "5์ 7์ ํฉ์: " . $result . "์
๋๋ค.<br>"; // ์ถ๋ ฅ: 5์ 7์ ํฉ์: 12์
๋๋ค.
echo "10๊ณผ 20์ ํฉ์: " . addNumbers(10, 20) . "์
๋๋ค.<br>"; // ์ง์ ์ถ๋ ฅ ๊ฐ๋ฅ
?>
์ฌ๊ธฐ์ sayHello()
, greetUser("๊น์ฒ ์")
, addNumbers(5, 7)
๋ถ๋ถ์ด ๋ฐ๋ก ํจ์๋ฅผ ํธ์ถํ๋ ๋ถ๋ถ์
๋๋ค. greetUser
ํจ์์ ์ ๋ฌ๋ "๊น์ฒ ์", "์ด์ํฌ"๋ ์ธ์(Argument) ์ด๊ณ , addNumbers
ํจ์์ ์ ๋ฌ๋ 5์ 7๋ ์ธ์์
๋๋ค.
4. ๋งค๊ฐ๋ณ์์ ๊ธฐ๋ณธ๊ฐ (Default Parameter Values)
#PHP ์์๋ ํจ์๋ฅผ ์ ์ํ ๋ ๋งค๊ฐ๋ณ์์ ๊ธฐ๋ณธ๊ฐ์ ์ง์ ํ ์ ์์ต๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ํจ์๋ฅผ ํธ์ถํ ๋ ํด๋น ๋งค๊ฐ๋ณ์์ ๊ฐ์ ์ ๋ฌํ์ง ์์๋ ๊ธฐ๋ณธ๊ฐ์ด ์ฌ์ฉ๋ฉ๋๋ค.
PHP
<?php
function sendMessage($message, $recipient = "๋ชจ๋ ์ฌ์ฉ์") { // $recipient์ ๊ธฐ๋ณธ๊ฐ ์ค์
echo $recipient . "์๊ฒ ๋ฉ์์ง: " . $message . "<br>";
}
// ๊ธฐ๋ณธ๊ฐ์ด ์ฌ์ฉ๋๋ ๊ฒฝ์ฐ
sendMessage("์๋
ํ์ธ์!"); // ์ถ๋ ฅ: ๋ชจ๋ ์ฌ์ฉ์์๊ฒ ๋ฉ์์ง: ์๋
ํ์ธ์!
// ๊ธฐ๋ณธ๊ฐ์ด ์ค๋ฒ๋ผ์ด๋(์ฌ์ ์)๋๋ ๊ฒฝ์ฐ
sendMessage("์ค๋ ๋ ์จ๊ฐ ์ข๋ค์.", "๋ฐ์ํฌ"); // ์ถ๋ ฅ: ๋ฐ์ํฌ์๊ฒ ๋ฉ์์ง: ์ค๋ ๋ ์จ๊ฐ ์ข๋ค์.
?>
์ฃผ์์ฌํญ: ๊ธฐ๋ณธ๊ฐ์ ๊ฐ์ง ๋งค๊ฐ๋ณ์๋ ํญ์ ๊ธฐ๋ณธ๊ฐ์ด ์๋ ๋งค๊ฐ๋ณ์ ๋ค์ ์์นํด์ผ ํฉ๋๋ค.
PHP
<?php
// ์ฌ๋ฐ๋ฅธ ์์
function correctOrder($param1, $param2 = "๊ธฐ๋ณธ๊ฐ") { /* ... */ }
// ์๋ชป๋ ์์ (Syntax Error ๋ฐ์)
// function wrongOrder($param1 = "๊ธฐ๋ณธ๊ฐ", $param2) { /* ... */ }
?>
5. ๊ฐ๋ณ ์ธ์ ํจ์ (Variable-length Argument Lists)
#PHP 5.6๋ถํฐ๋ #
...`` ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ฌ ํจ์๊ฐ #๊ฐ๋ณ ์ธ์ ๋ฅผ ๋ฐ์ ์ ์๋๋ก ์ ์ํ ์ ์์ต๋๋ค. ์ด๋ ํจ์๊ฐ ๋ฐ์ ์ธ์์ ๊ฐ์๋ฅผ ๋ฏธ๋ฆฌ ์ ์ ์์ ๋ ์ ์ฉํฉ๋๋ค.
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
echo "ํฉ๊ณ 2: " . sumAll(10, 20, 30, 40, 50) . "<br>"; // ์ถ๋ ฅ: ํฉ๊ณ 2: 150
echo "ํฉ๊ณ 3: " . sumAll(5) . "<br>"; // ์ถ๋ ฅ: ํฉ๊ณ 3: 5
echo "ํฉ๊ณ 4: " . sumAll() . "<br>"; // ์ถ๋ ฅ: ํฉ๊ณ 4: 0
?>
...$numbers
๋ ์ ๋ฌ๋ ๋ชจ๋ ์ธ์๋ฅผ $numbers
๋ผ๋ ์ด๋ฆ์ ๋ฐฐ์ด๋ก ๋ฌถ์ด์ค๋๋ค.
๊ฒฐ๋ก
์ด๋ฒ #PHP ์ด๊ธ 5์ฃผ์ฐจ ๊ฐ์ข์์๋ #ํจ์ ์ ์ ์๋ถํฐ ํธ์ถ, ๋งค๊ฐ๋ณ์ ์ฌ์ฉ๋ฒ, ๊ทธ๋ฆฌ๊ณ ๊ธฐ๋ณธ๊ฐ ๋ฐ ๊ฐ๋ณ ์ธ์๊น์ง ํญ๋๊ฒ ๋ค๋ฃจ์ด ๋ณด์์ต๋๋ค. ํจ์๋ PHP ํ๋ก๊ทธ๋๋ฐ์ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ๊ตฌ์ฑ ์์์ด๋ฉฐ, ์ฝ๋๋ฅผ ๊ตฌ์กฐํํ๊ณ ์ฌ์ฌ์ฉ์ฑ์ ๋์ด๋ ๋ฐ ํ์์ ์ ๋๋ค. ์ค๋ ๋ฐฐ์ด ๋ด์ฉ์ ๋ฐํ์ผ๋ก ์์ ๋ง์ ํจ์๋ฅผ ์ ์ํ๊ณ ํธ์ถํ๋ ์ฐ์ต์ ๊พธ์คํ ํด๋ณด์๊ธธ ๋ฐ๋๋๋ค.