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

216.73.216.80 TODAY : 146

PHP ๊ฐ•์˜

 > 

PHP - ์ดˆ๊ธ‰

๐Ÿ“š PHP ์ดˆ๊ธ‰ - 2์ฃผ์ฐจ - 05 ๋ฐ์ดํ„ฐ ํƒ€์ž… ๋ณ€ํ™˜ (ํ˜• ๋ณ€ํ™˜): ๊ฐ’์˜ ํ˜•ํƒœ ๋ฐ”๊พธ๊ธฐ

๐Ÿ“š PHP ์ดˆ๊ธ‰ - 2์ฃผ์ฐจ - 05 ๋ฐ์ดํ„ฐ ํƒ€์ž… ๋ณ€ํ™˜ (ํ˜• ๋ณ€ํ™˜): ๊ฐ’์˜ ํ˜•ํƒœ ๋ฐ”๊พธ๊ธฐ
ํ‰์  10.0 ๋ผ์ด์„ผ์Šค free
์‚ฌ์šฉ์žํ‰์  10.0 ์šด์˜์ฒด์ œ
๋‹ค์šด๋กœ๋“œ 1 ํŒŒ์ผํฌ๊ธฐ 0
์ œ์ž‘์‚ฌ LUZENSOFT ๋“ฑ๋ก์ผ 2025-06-27 00:53:49
์กฐํšŒ์ˆ˜ 13
- ์„ค๋ช…

๐Ÿ“š PHP ์ดˆ๊ธ‰ - 2์ฃผ์ฐจ - 05 ๋ฐ์ดํ„ฐ ํƒ€์ž… ๋ณ€ํ™˜ (ํ˜• ๋ณ€ํ™˜): ๊ฐ’์˜ ํ˜•ํƒœ ๋ฐ”๊พธ๊ธฐ


PHP๋Š” #๋™์ _ํƒ€์ž…_์–ธ์–ด ์ด๋ฏ€๋กœ, #๋ณ€์ˆ˜ ์˜ #๋ฐ์ดํ„ฐ_ํƒ€์ž… ์ด ๊ณ ์ •๋˜์–ด ์žˆ์ง€ ์•Š๊ณ  #ํ• ๋‹น ๋˜๋Š” ๊ฐ’์— ๋”ฐ๋ผ ์œ ๋™์ ์œผ๋กœ #๋ณ€ํ™” ํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋•Œ๋กœ๋Š” ํŠน์ • ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด #๋ฐ์ดํ„ฐ ์˜ #ํƒ€์ž… ์„ ์˜๋„์ ์œผ๋กœ #๋ณ€ํ™˜ ํ•ด์•ผ ํ•  ๋•Œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ #๋ฐ์ดํ„ฐ_ํƒ€์ž… ์„ ๋‹ค๋ฅธ #ํƒ€์ž… ์œผ๋กœ ๋ฐ”๊พธ๋Š” ๊ฒƒ์„ **#ํ˜•๋ณ€ํ™˜ (Type Casting)**์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” PHP์—์„œ #ํ˜•๋ณ€ํ™˜ ์ด ์–ด๋–ป๊ฒŒ ์ด๋ฃจ์–ด์ง€๋Š”์ง€, ๊ทธ๋ฆฌ๊ณ  #๋ช…์‹œ์ _ํ˜•๋ณ€ํ™˜ ๊ณผ #์•”์‹œ์ _ํ˜•๋ณ€ํ™˜ ์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.



uploadImage

1. #ํ˜•๋ณ€ํ™˜ ์ด๋ž€?


#ํ˜•๋ณ€ํ™˜ ์€ ํ•˜๋‚˜์˜ #๋ฐ์ดํ„ฐ_ํƒ€์ž… ์„ ๋‹ค๋ฅธ #๋ฐ์ดํ„ฐ_ํƒ€์ž… ์œผ๋กœ ๋ฐ”๊พธ๋Š” ๊ณผ์ •์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, #๋ฌธ์ž์—ด ํ˜•ํƒœ์˜ ์ˆซ์ž๋ฅผ ์‹ค์ œ #์ •์ˆ˜ ๋กœ ๋ฐ”๊พธ๊ฑฐ๋‚˜, #๋ถˆ๋ฆฐ ๊ฐ’์„ #์ •์ˆ˜ (0 ๋˜๋Š” 1)๋กœ ๋ฐ”๊พธ๋Š” ๊ฒฝ์šฐ ๋“ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

PHP์—์„œ #ํ˜•๋ณ€ํ™˜ ์€ ํฌ๊ฒŒ ๋‘ ๊ฐ€์ง€ ๋ฐฉ์‹์œผ๋กœ ์ผ์–ด๋‚ฉ๋‹ˆ๋‹ค.

  • #๋ช…์‹œ์ _ํ˜•๋ณ€ํ™˜ (Explicit Type Casting): ๊ฐœ๋ฐœ์ž๊ฐ€ ์ง์ ‘ #ํƒ€์ž… ์„ ์ง€์ •ํ•˜์—ฌ #๋ณ€ํ™˜ ์„ ์ง€์‹œํ•˜๋Š” ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค.

  • #์•”์‹œ์ _ํ˜•๋ณ€ํ™˜ (Implicit Type Casting / Type Juggling): PHP ์—”์ง„์ด ํŠน์ • ์ƒํ™ฉ(์˜ˆ: ์—ฐ์‚ฐ)์—์„œ ์ž๋™์œผ๋กœ #ํƒ€์ž… ์„ #๋ณ€ํ™˜ ํ•˜๋Š” ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค.



uploadImage

2. #๋ช…์‹œ์ _ํ˜•๋ณ€ํ™˜ (Explicit Type Casting)


#๋ช…์‹œ์ _ํ˜•๋ณ€ํ™˜ ์€ ๊ด„ํ˜ธ () ์•ˆ์— ์›ํ•˜๋Š” #๋ฐ์ดํ„ฐ_ํƒ€์ž… ์ด๋ฆ„์„ ์“ฐ๊ณ , ๊ทธ ๋’ค์— #๋ณ€ํ™˜ ํ•  #๋ณ€์ˆ˜ ๋‚˜ ๊ฐ’์„ ๋†“๋Š” ๋ฐฉ์‹์œผ๋กœ ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค.

์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” #๋ช…์‹œ์ _ํ˜•๋ณ€ํ™˜ ํ‚ค์›Œ๋“œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:

  • (int) ๋˜๋Š” (integer): #์ •์ˆ˜ํ˜• ์œผ๋กœ #๋ณ€ํ™˜

  • (float) ๋˜๋Š” (double) ๋˜๋Š” (real): #์‹ค์ˆ˜ํ˜• ์œผ๋กœ #๋ณ€ํ™˜

  • (string): #๋ฌธ์ž์—ดํ˜• ์œผ๋กœ #๋ณ€ํ™˜

  • (bool) ๋˜๋Š” (boolean): #๋ถˆ๋ฆฐํ˜• ์œผ๋กœ #๋ณ€ํ™˜

  • (array): #๋ฐฐ์—ดํ˜• ์œผ๋กœ #๋ณ€ํ™˜

  • (object): #๊ฐ์ฒดํ˜• ์œผ๋กœ #๋ณ€ํ™˜

  • (unset): #NULL ๋กœ #๋ณ€ํ™˜ (์‚ฌ์‹ค์ƒ #๋ณ€์ˆ˜ ๋ฅผ ํ•ด์ œํ•˜๋Š” ๊ฒƒ๊ณผ ์œ ์‚ฌ)

์˜ˆ์‹œ:

PHP

<?php
$strNumber = "123";
$intNumber = (int)$strNumber; // ๋ฌธ์ž์—ด "123"์„ ์ •์ˆ˜ 123์œผ๋กœ ๋ณ€ํ™˜
echo gettype($intNumber) . ": " . $intNumber . "<br>"; // ์ถœ๋ ฅ: integer: 123

$floatValue = 3.14;
$stringValue = (string)$floatValue; // ์‹ค์ˆ˜ 3.14๋ฅผ ๋ฌธ์ž์—ด "3.14"๋กœ ๋ณ€ํ™˜
echo gettype($stringValue) . ": " . $stringValue . "<br>"; // ์ถœ๋ ฅ: string: 3.14

$boolValue = true;
$intValue = (int)$boolValue; // ๋ถˆ๋ฆฐ true๋ฅผ ์ •์ˆ˜ 1๋กœ ๋ณ€ํ™˜
echo gettype($intValue) . ": " . $intValue . "<br>"; // ์ถœ๋ ฅ: integer: 1

$zeroString = "0";
$boolFalse = (bool)$zeroString; // ๋ฌธ์ž์—ด "0"์„ ๋ถˆ๋ฆฐ false๋กœ ๋ณ€ํ™˜
echo gettype($boolFalse) . ": " . ($boolFalse ? "true" : "false") . "<br>"; // ์ถœ๋ ฅ: boolean: false

$arrayValue = (array)"hello"; // ๋ฌธ์ž์—ด "hello"๋ฅผ ๋ฐฐ์—ด๋กœ ๋ณ€ํ™˜ (0๋ฒˆ ์ธ๋ฑ์Šค์— ๊ฐ’ ์ €์žฅ)
echo gettype($arrayValue) . ": "; print_r($arrayValue); echo "<br>"; // ์ถœ๋ ฅ: array: Array ( [0] => hello )

$objectValue = (object)["name" => "Alice"]; // ์—ฐ๊ด€ ๋ฐฐ์—ด์„ ๊ฐ์ฒด๋กœ ๋ณ€ํ™˜
echo gettype($objectValue) . ": "; print_r($objectValue); echo "<br>"; // ์ถœ๋ ฅ: object: stdClass Object ( [name] => Alice )
?>


uploadImage

3. #์•”์‹œ์ _ํ˜•๋ณ€ํ™˜ (Implicit Type Casting / Type Juggling)


PHP๋Š” ํŠน์ • ์—ฐ์‚ฐ์ด๋‚˜ ๋ฌธ๋งฅ์—์„œ ํ•„์š”์— ๋”ฐ๋ผ #๋ฐ์ดํ„ฐ_ํƒ€์ž… ์„ ์ž๋™์œผ๋กœ #๋ณ€ํ™˜ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ #์•”์‹œ์ _ํ˜•๋ณ€ํ™˜ ๋˜๋Š” #ํƒ€์ž…_์ €๊ธ€๋ง ์ด๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค. ์ด๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ์ผ์ผ์ด #ํ˜•๋ณ€ํ™˜ ์„ ๋ช…์‹œํ•˜์ง€ ์•Š์•„๋„ ๋˜๋ฏ€๋กœ ํŽธ๋ฆฌํ•˜์ง€๋งŒ, ๋•Œ๋กœ๋Š” ์˜ˆ์ƒ์น˜ ๋ชปํ•œ ๊ฒฐ๊ณผ๋‚˜ ๋ฒ„๊ทธ๋ฅผ ์œ ๋ฐœํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ฃผ์˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ฃผ์š” #์•”์‹œ์ _ํ˜•๋ณ€ํ™˜ ๊ทœ์น™:

  • #์ˆซ์ž_์—ฐ์‚ฐ: #๋ฌธ์ž์—ด ๊ณผ #์ˆซ์ž ๋ฅผ ํ•จ๊ป˜ ์—ฐ์‚ฐํ•  ๋•Œ, #๋ฌธ์ž์—ด ์ด #์ˆซ์ž ๋กœ #๋ณ€ํ™˜ ๋ฉ๋‹ˆ๋‹ค.

    PHP

    $num = 10;
    $str = "5";
    $result = $num + $str; // $str์ด ์ˆซ์ž 5๋กœ ๋ณ€ํ™˜๋˜์–ด 15๊ฐ€ ๋จ
    echo $result . "<br>"; // ์ถœ๋ ฅ: 15
    
    $str2 = "10์ ";
    $result2 = $num + $str2; // "10์ "์€ ์ˆซ์ž 10์œผ๋กœ๋งŒ ๋ณ€ํ™˜๋˜๊ณ  "์ "์€ ๋ฌด์‹œ๋จ (๊ฒฝ๊ณ  ๋ฐœ์ƒ ๊ฐ€๋Šฅ)
    echo $result2 . "<br>"; // ์ถœ๋ ฅ: 20
    

    ์ฃผ์˜: #๋ฌธ์ž์—ด ์ด ์ˆซ์ž๋กœ ์‹œ์ž‘ํ•˜์ง€ ์•Š๊ฑฐ๋‚˜ ์œ ํšจํ•œ ์ˆซ์ž๊ฐ€ ์•„๋‹Œ ๊ฒฝ์šฐ 0์œผ๋กœ #๋ณ€ํ™˜ ๋ฉ๋‹ˆ๋‹ค.

  • #๋น„๊ต_์—ฐ์‚ฐ: == (๊ฐ’๋งŒ ๋น„๊ต) ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ, ์„œ๋กœ ๋‹ค๋ฅธ #๋ฐ์ดํ„ฐ_ํƒ€์ž… ์ด๋ฉด PHP๊ฐ€ #ํƒ€์ž… ์„ ๋งž์ถฐ์„œ ๋น„๊ตํ•ฉ๋‹ˆ๋‹ค.

    PHP

    $a = 10;
    $b = "10";
    if ($a == $b) { // $b๊ฐ€ ์ˆซ์ž 10์œผ๋กœ ๋ณ€ํ™˜๋˜์–ด ๋น„๊ต
        echo "๊ฐ’์€ ๊ฐ™๋‹ค.<br>"; // ์ถœ๋ ฅ: ๊ฐ’์€ ๊ฐ™๋‹ค.
    }
    
    $c = "abc";
    $d = 0;
    if ($c == $d) { // $c๊ฐ€ ์ˆซ์ž 0์œผ๋กœ ๋ณ€ํ™˜๋˜์–ด ๋น„๊ต
        echo "๊ฐ’์€ ๊ฐ™๋‹ค.<br>"; // ์ถœ๋ ฅ: ๊ฐ’์€ ๊ฐ™๋‹ค.
    }
    

    ํŒ: ๊ฐ’๊ณผ #๋ฐ์ดํ„ฐ_ํƒ€์ž… ์„ ๋ชจ๋‘ ์—„๊ฒฉํ•˜๊ฒŒ ๋น„๊ตํ•˜๋ ค๋ฉด === (๋™์ผ ์—ฐ์‚ฐ์ž)๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. if ($a === $b)๋Š” false์ž…๋‹ˆ๋‹ค.

  • #๋ถˆ๋ฆฐ_๋ฌธ๋งฅ: if ๋ฌธ์ด๋‚˜ while ๋ฌธ๊ณผ ๊ฐ™์€ #๋ถˆ๋ฆฐ_๋ฌธ๋งฅ ์—์„œ๋Š” ๋งŽ์€ #๋ฐ์ดํ„ฐ_ํƒ€์ž… ์ด ์ž๋™์œผ๋กœ #๋ถˆ๋ฆฐํ˜• ์œผ๋กœ #๋ณ€ํ™˜ ๋ฉ๋‹ˆ๋‹ค.

    • 0, 0.0, "" (๋นˆ #๋ฌธ์ž์—ด), [] (๋นˆ #๋ฐฐ์—ด), NULL์€ false๋กœ #๋ณ€ํ™˜ ๋ฉ๋‹ˆ๋‹ค.

    • ๊ทธ ์™ธ์˜ ๋Œ€๋ถ€๋ถ„์˜ ๊ฐ’์€ true๋กœ #๋ณ€ํ™˜ ๋ฉ๋‹ˆ๋‹ค.

    PHP

    $emptyString = "";
    if ($emptyString) {
        echo "์ด๊ฒƒ์€ ์ถœ๋ ฅ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.<br>";
    } else {
        echo "๋นˆ ๋ฌธ์ž์—ด์€ false๋กœ ๊ฐ„์ฃผ๋ฉ๋‹ˆ๋‹ค.<br>"; // ์ถœ๋ ฅ: ๋นˆ ๋ฌธ์ž์—ด์€ false๋กœ ๊ฐ„์ฃผ๋ฉ๋‹ˆ๋‹ค.
    }
    
    $nonEmptyString = "hello";
    if ($nonEmptyString) {
        echo "๋น„์–ด์žˆ์ง€ ์•Š์€ ๋ฌธ์ž์—ด์€ true๋กœ ๊ฐ„์ฃผ๋ฉ๋‹ˆ๋‹ค.<br>"; // ์ถœ๋ ฅ: ๋น„์–ด์žˆ์ง€ ์•Š์€ ๋ฌธ์ž์—ด์€ true๋กœ ๊ฐ„์ฃผ๋ฉ๋‹ˆ๋‹ค.
    }
    


4. #ํ˜•๋ณ€ํ™˜ ์‹œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ์ ๊ณผ ๋ฐฉ์ง€์ฑ…

uploadImage


#์•”์‹œ์ _ํ˜•๋ณ€ํ™˜ ์€ ํŽธ๋ฆฌํ•˜์ง€๋งŒ, ์˜ˆ๊ธฐ์น˜ ์•Š์€ ๋™์ž‘์„ ์œ ๋ฐœํ•˜์—ฌ ๋ฒ„๊ทธ์˜ ์›์ธ์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • #๋ฌธ์ž์—ด_์ˆซ์ž_๋ณ€ํ™˜์˜_์˜ค๋ฅ˜: #๋ฌธ์ž์—ด์ด ์ˆซ์ž๋กœ ์‹œ์ž‘ํ•˜์ง€ ์•Š๊ฑฐ๋‚˜ ์ˆซ์ž๋กœ ์™„์ „ํžˆ #๋ณ€ํ™˜ ๋  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ, PHP๋Š” #๋ฌธ์ž์—ด ์„ 0์œผ๋กœ ๊ฐ„์ฃผํ•˜๊ฑฐ๋‚˜ ๊ฒฝ๊ณ ๋ฅผ ๋ฐœ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • #๋น„๊ต_์—ฐ์‚ฐ์˜_์˜คํ•ด: == ์—ฐ์‚ฐ์ž๋Š” ํŽธ๋ฆฌํ•˜์ง€๋งŒ, #ํƒ€์ž… ์„ ๋ฌด์‹œํ•˜๊ณ  ๊ฐ’๋งŒ ๋น„๊ตํ•˜๋ฏ€๋กœ, ์—„๊ฒฉํ•œ #ํƒ€์ž…_์ฒดํฌ ๊ฐ€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ์—๋Š” === ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋ฐฉ์ง€์ฑ…:

  • #๋ช…์‹œ์ _ํ˜•๋ณ€ํ™˜ ํ™œ์šฉ: ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ #๋ช…์‹œ์ _ํ˜•๋ณ€ํ™˜ ์„ ์‚ฌ์šฉํ•˜์—ฌ #๋ฐ์ดํ„ฐ_ํƒ€์ž… ์„ ๊ฐœ๋ฐœ์ž๊ฐ€ ์˜๋„ํ•œ ๋Œ€๋กœ #๋ณ€ํ™˜ ํ•ฉ๋‹ˆ๋‹ค.

  • #์—„๊ฒฉํ•œ_๋น„๊ต_์—ฐ์‚ฐ์ž (===) ์‚ฌ์šฉ: #ํƒ€์ž… ๊นŒ์ง€ ํ•จ๊ป˜ ๋น„๊ตํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ ===๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

  • #ํƒ€์ž…_ํ™•์ธ_ํ•จ์ˆ˜ ํ™œ์šฉ: is_int(), is_string(), is_numeric() ๋“ฑ๊ณผ ๊ฐ™์€ #ํƒ€์ž…_ํ™•์ธ_ํ•จ์ˆ˜ ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ #๋ณ€์ˆ˜ ์˜ #๋ฐ์ดํ„ฐ_ํƒ€์ž… ์„ ๋จผ์ € ํ™•์ธํ•œ ํ›„ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.



๊ฒฐ๋ก 


PHP์˜ #๋ฐ์ดํ„ฐ_ํƒ€์ž… #๋ณ€ํ™˜ (#ํ˜•๋ณ€ํ™˜)์€ ์œ ์—ฐํ•œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋ฐ ์ค‘์š”ํ•œ ์š”์†Œ์ž…๋‹ˆ๋‹ค. #๋ช…์‹œ์ _ํ˜•๋ณ€ํ™˜ ์„ ํ†ตํ•ด ๊ฐœ๋ฐœ์ž๊ฐ€ ์›ํ•˜๋Š” ๋Œ€๋กœ #๋ฐ์ดํ„ฐ_ํƒ€์ž… ์„ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, #์•”์‹œ์ _ํ˜•๋ณ€ํ™˜ ์€ PHP์˜ ํŽธ๋ฆฌํ•จ์„ ์ œ๊ณตํ•˜์ง€๋งŒ ์ฃผ์˜ ๊นŠ๊ฒŒ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ #ํ˜•๋ณ€ํ™˜ ๋ฐฉ์‹์˜ ํŠน์ง•๊ณผ ์ฃผ์˜์‚ฌํ•ญ์„ ์ถฉ๋ถ„ํžˆ ์ดํ•ดํ•˜๊ณ  ์ ์ ˆํ•˜๊ฒŒ ํ™œ์šฉํ•œ๋‹ค๋ฉด, ๋”์šฑ ๊ฒฌ๊ณ ํ•˜๊ณ  ์˜ˆ์ธก ๊ฐ€๋Šฅํ•œ PHP ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.