
PHP ์จ๋ผ์ธ ๊ฐ์
>PHP - ์ด๊ธ
๐ PHP ์ด๊ธ - 5์ฃผ์ฐจ: ํจ์ - 05 ์ฌ์ฉ์ ์ ์ ํจ์
![]() |
ํ์ | 10.0 | ๋ผ์ด์ผ์ค | free |
---|---|---|---|---|
์ฌ์ฉ์ํ์ | 10.0 | ์ด์์ฒด์ | ||
๋ค์ด๋ก๋ | 1 | ํ์ผํฌ๊ธฐ | 0 | |
์ ์์ฌ | LUZENSOFT | ๋ฑ๋ก์ผ | 2025-06-28 17:42:34 | |
์กฐํ์ | 26 |
๐ PHP ์ด๊ธ - 5์ฃผ์ฐจ: ํจ์ - 05 ์ฌ์ฉ์ ์ ์ ํจ์
์๋ ํ์ธ์! #PHP ์ด๊ธ ๊ฐ์ข 5์ฃผ์ฐจ ๋ง์ง๋ง ์๊ฐ์ ๋๋ค. ์ง๋ ์๊ฐ์๋ PHP๊ฐ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ๊ณตํ๋ ๊ฐ๋ ฅํ #๋ด์ฅํจ์ ๋ค์ ๋ํด ์์๋ณด์์ต๋๋ค. ์ด๋ฒ ์๊ฐ์๋ ์ฐ๋ฆฌ๊ฐ ์ง์ ํ์์ ๋ฐ๋ผ ๋ง๋ค์ด ์ฌ์ฉํ ์ ์๋ ์ฌ์ฉ์ ์ ์ ํจ์ (User-Defined Functions) ์ ๋ํด ์์ธํ ํ์ตํด ๋ณด๊ฒ ์ต๋๋ค. ์ฌ์ฉ์ ์ ์ ํจ์๋ฅผ ํตํด ์ฝ๋์ ์ฌ์ฌ์ฉ์ฑ์ ๋์ด๊ณ , ํ๋ก๊ทธ๋จ์ ๋์ฑ ๊ตฌ์กฐ์ ์ผ๋ก ์ค๊ณํ ์ ์์ต๋๋ค.
1. ์ฌ์ฉ์ ์ ์ ํจ์๋ ๋ฌด์์ธ๊ฐ?
#์ฌ์ฉ์์ ์ํจ์ ๋ ๊ฐ๋ฐ์๊ฐ ํน์ ์์ ์ ์ํํ๊ธฐ ์ํด ์ง์ ์ ์ํ๋ ํจ์๋ฅผ ์๋ฏธํฉ๋๋ค. PHP๋ ๋ด์ฅ ํจ์ ์ธ์๋ ๊ฐ๋ฐ์๊ฐ ์ํ๋ ๊ธฐ๋ฅ์ ์์ ๋กญ๊ฒ ๊ตฌํํ ์ ์๋๋ก ๊ฐ๋ ฅํ ํจ์ ์ ์ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
2. ์ฌ์ฉ์ ์ ์ ํจ์ ์ ์ ๋ฐฉ๋ฒ
์ฌ์ฉ์ ์ ์ ํจ์๋ function
ํค์๋๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ํฉ๋๋ค. ๊ธฐ๋ณธ์ ์ธ ๋ฌธ๋ฒ ๊ตฌ์กฐ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
PHP
<?php
function ํจ์์ด๋ฆ(๋งค๊ฐ๋ณ์1, ๋งค๊ฐ๋ณ์2, ...) {
// ํจ์๊ฐ ์ํํ ์ฝ๋
// ์ ํ์ ์ผ๋ก ๊ฐ์ ๋ฐํํ ์ ์์ต๋๋ค.
return ๋ฐํ๊ฐ;
}
?>
function
: ํจ์๋ฅผ ์ ์ํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ์์ฝ์ด์ ๋๋ค.ํจ์์ด๋ฆ
: ํจ์๋ฅผ ํธ์ถํ ๋ ์ฌ์ฉํ ๊ณ ์ ํ ์ด๋ฆ์ ๋๋ค. ํจ์ ์ด๋ฆ์ ์๋ฌธ์, ์ซ์, ๋ฐ์ค(_
)๋ก ๊ตฌ์ฑ๋ ์ ์์ผ๋ฉฐ, ์ซ์๋ก ์์ํ ์ ์๊ณ , PHP ์์ฝ์ด๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ํจ์ ์ด๋ฆ์ ๋์๋ฌธ์๋ฅผ ๊ตฌ๋ณํ์ง ์์ง๋ง, ์ผ๋ฐ์ ์ผ๋ก ์๋ฌธ์๋ ์นด๋ฉ ์ผ์ด์ค(camelCase)๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ๊ด๋ก์ ๋๋ค.๋งค๊ฐ๋ณ์(Parameter)
: ํจ์๊ฐ ์ธ๋ถ๋ก๋ถํฐ ๊ฐ์ ์ ๋ฌ๋ฐ์ ์ฌ์ฉํ ๋ณ์ ๋ชฉ๋ก์ ๋๋ค. ๊ดํธ()
์์ ์ผํ๋ก ๊ตฌ๋ถํ์ฌ ์ฌ๋ฌ ๊ฐ๋ฅผ ์ ์ํ ์ ์์ผ๋ฉฐ, ํ์ํ์ง ์๋ค๋ฉด ์๋ตํ ์ ์์ต๋๋ค. ๋งค๊ฐ๋ณ์๋ ํจ์ ๋ด๋ถ์์ ์ง์ญ ๋ณ์์ฒ๋ผ ์ทจ๊ธ๋ฉ๋๋ค.{}
: ์ค๊ดํธ ์์๋ ํจ์๊ฐ ์ค์ ๋ก ์ํํ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค. ์ด ๋ถ๋ถ์ ํจ์ ๋ณธ๋ฌธ(Function Body) ์ด๋ผ๊ณ ํฉ๋๋ค.return
: (์ ํ ์ฌํญ) ํจ์๊ฐ ์์ ์ ์๋ฃํ ํ ๊ฒฐ๊ณผ๋ฅผ ํธ์ถํ ๊ณณ์ผ๋ก ๋ฐํํ ๋ ์ฌ์ฉํฉ๋๋ค.return
๋ฌธ์ด ์คํ๋๋ฉด ํจ์๋ ์ฆ์ ์ข ๋ฃ๋ฉ๋๋ค. ๋ฐํํ ๊ฐ์ด ์๋ค๋ฉดreturn;
๋๋return null;
์ ์ฌ์ฉํ๊ฑฐ๋return
๋ฌธ ์์ฒด๋ฅผ ์๋ตํ ์ ์์ต๋๋ค. ์ด ๊ฒฝ์ฐ ํจ์๋null
๊ฐ์ ๋ฐํํฉ๋๋ค.
3. ์ฌ์ฉ์ ์ ์ ํจ์ ์์
3.1. ๋งค๊ฐ๋ณ์ ์๋ ํจ์
๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ํํ์ ์ฌ์ฉ์ ์ ์ ํจ์๋ก, ํน์ ๋ฉ์์ง๋ฅผ ์ถ๋ ฅํ๋ ํจ์๋ฅผ ๋ง๋ค์ด ๋ณด๊ฒ ์ต๋๋ค.
PHP
<?php
function displayWelcomeMessage() {
echo "ํ์ํฉ๋๋ค! PHP ์ฌ์ฉ์ ์ ์ ํจ์๋ฅผ ๋ฐฐ์ฐ๋ ์๊ฐ์
๋๋ค.<br>";
}
// ํจ์ ํธ์ถ
displayWelcomeMessage(); // ์ถ๋ ฅ: ํ์ํฉ๋๋ค! PHP ์ฌ์ฉ์ ์ ์ ํจ์๋ฅผ ๋ฐฐ์ฐ๋ ์๊ฐ์
๋๋ค.
?>
3.2. ๋งค๊ฐ๋ณ์๊ฐ ์๋ ํจ์
์ธ๋ถ์์ ์ ๋ฌ๋ ๊ฐ์ ์ด์ฉํ์ฌ ๋์ํ๋ ํจ์๋ฅผ ๋ง๋ค์ด ๋ณด๊ฒ ์ต๋๋ค. ๋ ๊ฐ์ ์ซ์๋ฅผ ๋ํ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ๋ ํจ์์ ๋๋ค.
PHP
<?php
function printSum($num1, $num2) {
$sum = $num1 + $num2;
echo "๋ ์์ ํฉ: " . $sum . "<br>";
}
// ํจ์ ํธ์ถ
printSum(10, 5); // ์ถ๋ ฅ: ๋ ์์ ํฉ: 15
printSum(25, 75); // ์ถ๋ ฅ: ๋ ์์ ํฉ: 100
?>
3.3. ๋ฐํ ๊ฐ์ด ์๋ ํจ์
๊ณ์ฐ ๊ฒฐ๊ณผ๋ฅผ ์ง์ ์ถ๋ ฅํ๋ ๋์ , ๊ฒฐ๊ณผ๊ฐ์ ๋ฐํํ์ฌ ํธ์ถํ๋ ์ชฝ์์ ํ์ฉํ ์ ์๋๋ก ๋ง๋ค์ด ๋ณด๊ฒ ์ต๋๋ค. ๋ ๊ฐ์ ์ซ์๋ฅผ ๊ณฑํ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ๋ ํจ์์ ๋๋ค.
PHP
<?php
function multiplyNumbers($a, $b) {
$product = $a * $b;
return $product; // ๊ฒฐ๊ณผ๊ฐ์ ๋ฐํ
}
// ํจ์ ํธ์ถ ๋ฐ ๋ฐํ ๊ฐ ํ์ฉ
$result1 = multiplyNumbers(4, 6);
echo "4 * 6 = " . $result1 . "<br>"; // ์ถ๋ ฅ: 4 * 6 = 24
$result2 = multiplyNumbers(12, 3);
$finalResult = $result2 + 10;
echo "12 * 3 ์ 10์ ๋ํ ๊ฐ: " . $finalResult . "<br>"; // ์ถ๋ ฅ: 12 * 3 ์ 10์ ๋ํ ๊ฐ: 46
?>
3.4. ๋งค๊ฐ๋ณ์ ๊ธฐ๋ณธ๊ฐ์ด ์๋ ํจ์
ํจ์ ํธ์ถ ์ ํน์ ๋งค๊ฐ๋ณ์์ ๊ฐ์ ์๋ตํ์ ๊ฒฝ์ฐ ์ฌ์ฉํ ๊ธฐ๋ณธ๊ฐ์ ์ค์ ํ ์ ์์ต๋๋ค.
PHP
<?php
function greetUser($name = "๋ฐฉ๋ฌธ๊ฐ") {
echo "์๋
ํ์ธ์, " . $name . "๋!<br>";
}
// ํจ์ ํธ์ถ
greetUser(); // ์ถ๋ ฅ: ์๋
ํ์ธ์, ๋ฐฉ๋ฌธ๊ฐ๋! (๊ธฐ๋ณธ๊ฐ ์ฌ์ฉ)
greetUser("๊น๋ฏผ์ง"); // ์ถ๋ ฅ: ์๋
ํ์ธ์, ๊น๋ฏผ์ง๋! (์ ๋ฌ๋ ๊ฐ ์ฌ์ฉ)
?>
3.5. ๊ฐ๋ณ ์ธ์ ํจ์
ํจ์๊ฐ ํธ์ถ๋ ๋ ์ ๋ฌ๋๋ ์ธ์์ ๊ฐ์๋ฅผ ์ ํด๋์ง ์๊ณ ์ ๋์ ์ผ๋ก ์ฒ๋ฆฌํ ์ ์์ต๋๋ค.
PHP
<?php
function calculateAverage(...$numbers) {
$count = count($numbers);
if ($count === 0) {
return 0;
}
$sum = array_sum($numbers);
return $sum / $count;
}
// ํจ์ ํธ์ถ
echo "ํ๊ท 1: " . calculateAverage(10, 20, 30) . "<br>"; // ์ถ๋ ฅ: ํ๊ท 1: 20
echo "ํ๊ท 2: " . calculateAverage(5, 10, 15, 20, 25) . "<br>"; // ์ถ๋ ฅ: ํ๊ท 2: 15
echo "ํ๊ท 3: " . calculateAverage() . "<br>"; // ์ถ๋ ฅ: ํ๊ท 3: 0
?>
4. ์ฌ์ฉ์ ์ ์ ํจ์ ์์ฑ ์ ์ฃผ์์ฌํญ
ํจ์ ์ด๋ฆ์ ๊ท์น ์ค์: ์๋ฌธ์, ์ซ์, ๋ฐ์ค๋ก ๊ตฌ์ฑํ๋ฉฐ ์ซ์๋ก ์์ํ ์ ์๊ณ , ์์ฝ์ด๋ ํผํด์ผ ํฉ๋๋ค.
๋ช ํํ ํจ์ ์ด๋ฆ ์ฌ์ฉ: ํจ์ ์ด๋ฆ๋ง ๋ณด๊ณ ๋ ์ด๋ค ๊ธฐ๋ฅ์ ์ํํ๋์ง ์ฝ๊ฒ ์ดํดํ ์ ์๋๋ก ์๋ฏธ ์๋ ์ด๋ฆ์ ์ง๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
์ ์ ํ ๋งค๊ฐ๋ณ์ ์ค๊ณ: ํจ์๊ฐ ํ์๋ก ํ๋ ์ ๋ ฅ ๊ฐ์ ๋ช ํํ ์ ์ํ๊ณ , ๋งค๊ฐ๋ณ์์ ๊ฐ์๋ฅผ ์ ์ ํ๊ฒ ์ ์งํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
์ผ๊ด์ฑ ์๋ ๋ฐํ ๊ฐ: ํจ์๊ฐ ๋ฐํํ๋ ๊ฐ์ ํ์ ๊ณผ ์๋ฏธ๋ฅผ ์ผ๊ด์ฑ ์๊ฒ ์ ์งํ์ฌ ์ฝ๋์ ์์ธก ๊ฐ๋ฅ์ฑ์ ๋์ฌ์ผ ํฉ๋๋ค.
ํจ์์ ์ญํ ๋ถ๋ด: ํ๋์ ํจ์๊ฐ ๋๋ฌด ๋ง์ ๊ธฐ๋ฅ์ ์ํํ์ง ์๋๋ก, ๊ฐ ํจ์๊ฐ ๋ช ํํ ํ๋์ ์ญํ ๋ง ๋ด๋นํ๋๋ก ์ค๊ณํ๋ ๊ฒ์ด ์ข์ต๋๋ค (๋จ์ผ ์ฑ ์ ์์น).
๊ฒฐ๋ก
์ด๋ฒ ์๊ฐ์๋ #PHP ์์ ๊ฐ๋ฐ์๊ฐ ์ง์ ์ ์ํ์ฌ ์ฌ์ฉํ ์ ์๋ #์ฌ์ฉ์์ ์ํจ์ ์ ๋ํด ์์ธํ ์์๋ณด์์ต๋๋ค. ํจ์ ์ ์ ๋ฐฉ๋ฒ, ๋ค์ํ ํํ์ ๋งค๊ฐ๋ณ์ ํ์ฉ๋ฒ, ๊ทธ๋ฆฌ๊ณ ๋ฐํ ๊ฐ์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ์ตํ์ต๋๋ค. ์ฌ์ฉ์ ์ ์ ํจ์๋ฅผ ๋ฅ์ํ๊ฒ ์ฌ์ฉํ๋ ๊ฒ์ PHP ํ๋ก๊ทธ๋๋ฐ ๋ฅ๋ ฅ์ ํฅ์์ํค๋ ํต์ฌ์ ์ธ ์์์ ๋๋ค. ์์ผ๋ก ๋ค์ํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์์ ๋ง์ ํจ์๋ฅผ ๋ง๋ค์ด๋ณด๊ณ , ์ด๋ฅผ ํตํด ์ฝ๋์ ํจ์จ์ฑ๊ณผ ์ ์ง๋ณด์์ฑ์ ๋์ด๋ ๊ฒฝํ์ ํด๋ณด์๊ธธ ๋ฐ๋๋๋ค.