๐Ÿ“– Coding Study/์›น ํ”„๋กœ๊ทธ๋ž˜๋ฐ

2023.03.14 ํ™” (PHP ์‹ค์Šต)

๊ณต๋ถ€๋ชปํ•จ 2023. 3. 14. 21:08

PHP๋Š” ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด์ด๋‹ค.

์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด๋Š” ์ธํ„ฐํ”„๋ฆฌํ„ฐ ๋ฐฉ์‹์œผ๋กœ ๊ตฌํ˜„๋œ๋‹ค.

 

C์–ธ์–ด์—์„œ๋Š” ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜๊ณ  ์ดˆ๊ธฐํ™”๋ฅผ ํ•ด์ฃผ์–ด์•ผ ํ•˜์ง€๋งŒ (int a; , a = 5;)

PHP์—์„œ๋Š” ๋ณ€์ˆ˜ ์„ ์–ธ ์—†์ด ๊ณง๋ฐ”๋กœ ๋ณ€์ˆ˜์— ๊ฐ’์„ ๋„ฃ์œผ๋ฉด ๋œ๋‹ค. ($a = 5;)

๋”ฐ๋ผ์„œ, C์–ธ์–ด์—์„œ intํ˜•์œผ๋กœ ์„ ์–ธํ•œ ๋ณ€์ˆ˜ a์— ์‹ค์ˆ˜๊ฐ’์„ ๋Œ€์ž…ํ•˜๋ฉด type miss๊ฐ€ ๋ฐœ์ƒํ•˜์ง€๋งŒ

PHP์—์„œ์˜ $a์—๋Š” ์ •์ˆ˜, ์‹ค์ˆ˜, ๋ฌธ์ž์—ด์ค‘ ์–ด๋–ค ๊ฒƒ์„ ๋„ฃ์–ด๋„ ์ •์ƒ์ ์œผ๋กœ ์ž‘๋™ํ•œ๋‹ค. (์‹คํ–‰ ์ค‘์— ๋ฐ์ดํ„ฐ ํƒ€์ž…์ด ๋ณ€๊ฒฝ๋จ)

 

C์–ธ์–ด์™€ ๊ฐ™์€ ๊ฒƒ์„ Strong Type Mechanism(๊ฐ•ํƒ€์ž…)์ด๋ผ ํ•˜๋ฉฐ

PHP์™€ ๊ฐ™์€ ๊ฒƒ์„ Weak Type Mechanism(์•ฝํƒ€์ž…)์ด๋ผ ํ•œ๋‹ค.

๊ฒŒ์‹œ๊ธ€ ์ž‘์„ฑ์„ ์œ„ํ•ด ๊ฐ•ํƒ€์ž…๊ณผ ์•ฝํƒ€์ž…์— ๊ด€ํ•ด ๊ฒ€์ƒ‰ํ•˜๋˜ ์ค‘, C์–ธ์–ด๋Š” ๊ฐ•ํƒ€์ž…์ด ์•„๋‹ˆ๋ผ๋Š” ๊ฒŒ์‹œ๊ธ€๋“ค์„ ์‰ฝ๊ฒŒ ๋ณผ ์ˆ˜ ์žˆ์—ˆ๋‹ค.

๊ต์ˆ˜๋‹˜์˜ ๊ฐ•์˜ ๋‚ด์šฉ๊ณผ ๋‹ค๋ฅด๋‹ค๋Š” ์‚ฌ์‹ค์— ํ˜ผ๋ž€์Šค๋Ÿฌ์› ๋˜ ๋‚˜๋Š” ์ฑ—GPT์—๊ฒŒ C์–ธ์–ด์— ๋Œ€ํ•ด์„œ ๋ฌผ์–ด๋ดค๋‹ค.

๊ฐ•ํƒ€์ž…์ด๋ผ ํ•œ๋‹ค.

 

 

๊ฐ•ํƒ€์ž…์˜ ์žฅ์ ์€ ํ”„๋กœ๊ทธ๋žจ์˜ ์‹คํ–‰ ์†๋„๋ฅผ ๋น ๋ฅด๊ฒŒ ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋ฉ”๋ชจ๋ฆฌ์˜ ๊ณต๊ฐ„์„ ๋‚ญ๋น„ํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

๋”ฐ๋ผ์„œ, ์‹คํ–‰์†๋„๊ฐ€ ์ค‘์š”ํ•œ ํ”„๋กœ๊ทธ๋žจ์€ ์ปดํŒŒ์ผ ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹๊ณ 

์‹คํ–‰์†๋„๋ณด๋‹ค๋Š” ๊ฐœ๋ฐœ์˜ ์œ ์—ฐ์„ฑ, ์‚ฌ์šฉ์ž์™€์˜ ์ƒํ˜ธ์ž‘์šฉ์œผ๋กœ ๋™์ž‘ํ•˜๊ณ  ์†Œ์Šค ์ฝ”๋“œ์˜ ๊ธธ์ด๊ฐ€ ๊ธธ์ง€ ์•Š์€ ๊ฒƒ์€ ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด๋กœ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.


๋ณตํ•ฉ ์ž๋ฃŒํ˜• (๋ฐฐ์—ด, ๊ฐ์ฒดํ˜•, NULL ๋“ฑ)

PHP์—์„œ, $a = " "๊ณผ $a = null๋Š” ์„œ๋กœ ๋‹ค๋ฅด๋‹ค.

์ „์ž๋Š” ๊ฐ’์ด ์—†๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•˜๊ณ , ํ›„์ž๋Š” ์•„์ง ์–ด๋–ค ๊ฐ’์„ ๋„ฃ์–ด์•ผ ํ•  ์ง€ ๋ชจ๋ฅด๊ฒ ์„ ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

(null์€ ํ‘œ์‹œ๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋จ)

 

 

์ƒ์ˆ˜

C์–ธ์–ด์—์„œ๋Š” #define PHI 3.14์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜

                        const double PHI = 3.14; ์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•˜์ง€๋งŒ,

PHP์—์„œ๋Š” define("PHI", 3.14)์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•œ๋‹ค.

("๊ธฐํ˜ธ ์ƒ์ˆ˜", value) value์—๋Š” ๋ฌธ์ž์—ด๋„ ๊ฐ€๋Šฅํ•จ

 

 


์—ฐ์‚ฐ์ž

1. ์‚ฐ์ˆ  ์—ฐ์‚ฐ์ž

   +        -       *        /       %        **(์ง€์ˆ˜ ๊ณ„์‚ฐ)

 

2. ๋ฌธ์ž์—ด ์—ฐ๊ฒฐ ์—ฐ์‚ฐ์ž

   .

 

3. ๋Œ€์ž… ์—ฐ์‚ฐ์ž

   =      +=      -=       *=      /=      %=      .=

   

4. ๋น„๊ต ์—ฐ์‚ฐ์ž

   ==      !=      >      <      >=      <=      

 

5. ๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž

   !     &&      ||


 

<?php
    $a = 21;
    var_dump($a); // ๋ณ€์ˆ˜์˜ ํƒ€์ž…๊ณผ ๊ฐ’์„ ์•Œ๋ ค์ฃผ๋Š” ํ•จ์ˆ˜
    echo "<br>";

    $a = true;  # ๊ฐ™์€ ๋ณ€์ˆ˜์— ๋‹ค๋ฅธ ํƒ€์ž…์˜ ๊ฐ’์„ ๋Œ€์ž…ํ•  ์ˆ˜ ์žˆ์Œ
    var_dump($a);
    echo "<br>";

    unset($a);  // Warning: Undefined variable $a in C:\xampp\htdocs\test\var.php on line 11 NULL ์ถœ๋ ฅ, unset๋Š” ๋ณ€์ˆ˜๋ฅผ ์—†์• ๋Š” ๊ฒƒ์ž„. ๋ฌดํšจํ™” ์†Œ๋ฉธ
    var_dump($a);
    echo "<br>";  

    $a = "Hello";
    $b = isset($a);  // isset()ํ•จ์ˆ˜๋Š” ๋ณ€์ˆ˜๊ฐ€ ๋งŒ๋“ค์–ด์ ธ ์žˆ๋Š”์ง€๋ฅผ ํ™•์ธํ•˜๋Š” ํ•จ์ˆ˜ (true fauls ๊ฒฐ๊ณผ๊ฐ’)
    var_dump($b);
    echo "<br>";  

    $a = null;
    $b = is_null($a); // is_null()ํ•จ์ˆ˜๋Š” ๋ณ€์ˆ˜์˜ ๊ฐ’์ด null์ธ์ง€๋ฅผ ์ฒดํฌํ•จ
    var_dump($b);
    echo "<br>"; 
    
    /*
    // ์—ฐ์‚ฐ์ž ์—ฐ์Šต : ์›์˜ ๋ฉด์ น๊ณผ ๋‘˜๋ ˆ๋ฅผ ๊ณ„์‚ฐ
    echo "<h2>์›์˜ ๋ฉด์ ๊ณผ ๋‘˜๋ ˆ๊ณ„์‚ฐ</h2>";
    define("PHI", 3.1415);  # ๊ธฐํ˜ธ์ƒ์ˆ˜ ์ •์˜
    $r = $_GET['r'];
    $r2 = $_GET['rr'];
    $size = $r ** 2 *PHI;
    $length = 2 * PHI * $r;
    echo "<h3>๋ฉด์  = $size</h3>";
    echo "<h3>๋‘˜๋ ˆ = $length</h3>";    // ์ž…๋ ฅ ๊ณ„์‚ฐ ์ถœ๋ ฅ์ด๋ผ๋Š” ํ”„๋กœ๊ทธ๋žจ์˜ ๊ธฐ๋ณธ


    // ์›ํ™”๋ฅผ ๋‹ฌ๋Ÿฌ๋กœ ํ™˜์ „. ์ž…๋ ฅ : ์›ํ™”, ํ™˜์œจ ๋‘๊ฐœ๋ฅผ ์ž…๋ ฅ๋ฐ›์Œ
    echo "<h2>์›ํ™” ๋‹ฌ๋Ÿฌ ํ™˜์ „</h2>";
    $w = $_GET['w'];
    $rr = $_GET['rr'];
    $result = $w/$rr;
    echo "๊ฒฐ๊ณผ๋Š” $result";
    */

    
       #์ •๋‹ต
    $won = $_GET['won'];
    $rate = $_GET['rate'];
    // $usd = round($won / $rate);
    $usd = intdiv($won, $rate);
    $ch = $won % $rate;
    echo "<h3>์›ํ™” = {$won}์›</h3>";
    echo "<h3>ํ™˜์œจ = {$rate}์›/1USD</h3>";
    echo "<h3>๋‹ฌ๋Ÿฌ = {$usd}usd</h3>";
    echo "<h3>์ž”์•ก = {$ch}์›</h3>";
    
?>

 


๊ธฐํƒ€

PHP๋Š” ์ž…๋ ฅ๋ฐ›๋Š” ํ•จ์ˆ˜๊ฐ€ ๋”ฐ๋กœ ์—†๋‹ค.

์ฟผ๋ฆฌ ์ŠคํŠธ๋ฆผ (์งˆ์˜ ๋ฌธ์ž์—ด)

PHP์—์„œ๋Š” ์ •์ˆ˜ / ์ •์ˆ˜๋ฅผ ํ•ด๋„ ๊ฒฐ๊ณผ๊ฐ’์— ์†Œ์ˆซ์ ์ด ๋‚˜ํƒ€๋‚จ = ์ •์ˆ˜ ๋‚˜๋ˆ—์…ˆ์ด ์—†๋‹ค.

round()ํ•จ์ˆ˜์™€ intdiv()ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ •์ˆ˜ ๋‚˜๋ˆ—์…ˆ ๊ฐ€๋Šฅ

 

 


์ฐธ๊ณ ํ•œ ํŽ˜์ด์ง€

https://well-made-codestory.tistory.com/30

 

[Programming Language] ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด(Script Language) vs ์ปดํŒŒ์ผ ์–ธ์–ด(Compile Language)

์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด(Script Language) vs ์ปดํŒŒ์ผ ์–ธ์–ด(Compile Language) ๊ฐœ์š” ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด์™€ ์ปดํŒŒ์ผ์–ธ์–ด๋ฅผ ์ดํ•ดํ•˜๊ณ  ๊ทธ ์ฐจ์ด๋ฅผ ์•Œ์•„๋ณธ๋‹ค. ๋ชฉ์ฐจ ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด(Script Language)๋ž€? ์ปดํŒŒ์ผ ์–ธ์–ด(Compile Language)๋ž€? ์Šค

well-made-codestory.tistory.com

https://eunjinii.tistory.com/4

 

์ธํ„ฐํ”„๋ฆฌํ„ฐ ์–ธ์–ด(Interpreter Language) vs ์ปดํŒŒ์ผ ์–ธ์–ด(Compiled Language)

์ธํ„ฐํ”„๋ฆฌํ„ฐ ์–ธ์–ด ์†Œ์Šค์ฝ”๋“œ๋ฅผ ํ•œ ์ค„ ํ•œ ์ค„ ์ฝ์–ด๊ฐ€๋ฉฐ ๋ช…๋ น์„ ๋ฐ”๋กœ ์ฒ˜๋ฆฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ(์–ธ์–ด). ๋ฒˆ์—ญ๊ณผ ์‹คํ–‰์ด ๋™์‹œ์— ์ด๋ฃจ์–ด์ง„๋‹ค. - ์ธํ„ฐํ”„๋ฆฌํ„ฐ(interpreter)๋ž€, ์šฐ๋ฆฌ๋ง๋กœ 'ํ†ต์—ญ์‚ฌ'๋ผ๋Š” ๋œป์ž„. ์šฐ๋ฆฌ๊ฐ€ ์ปด

eunjinii.tistory.com

https://wikidocs.net/13875

 

02_์ธํ„ฐํ”„๋ฆฌํ„ฐ ์–ธ์–ด๋ž€?

ํŒŒ์ด์ฌ์€ ์ธํ„ฐํ”„๋ฆฌํ„ฐ ์–ธ์–ด์ด๋‹ค. ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋Š” ์ปดํŒŒ์ผ๋ง ์–ธ์–ด์™€ ์ธํ„ฐํ”„๋ฆฌํ„ฐ ์–ธ์–ด๋กœ ๋‚˜๋ˆŒ ์ˆ˜๋„ ์žˆ๋‹ค. ์•„๋ž˜ ๊ทธ๋ฆผ์€ ๊ทธ ์ฐจ์ด์ ์„ ์ž˜ ๋‚˜ํƒ€๋‚ธ๋‹ค. ![](https://wikidoc…

wikidocs.net

https://mirrorofcode.tistory.com/199

 

๊ฐ• ํƒ€์ž… ์–ธ์–ด (vs ์•ฝ ํƒ€์ž… ์–ธ์–ด)

๊ฐ• ํƒ€์ž… ์–ธ์–ด์™€ ์•ฝ ํƒ€์ž… ์–ธ์–ด๋ฅผ ๋‹ค๋“ค ์–ด๋””์„ ๊ฐ€ ํ•œ ๋ฒˆ์ฏค ๋“ค์–ด๋ดค์„ ๊ฒƒ์ด๋‹ค. (์•ˆ ๋“ค์–ด ๋ดค์–ด? ๊ทธ๋Ÿผ ์ง€๊ธˆ ๋“ค์–ด๋ด~) ๐Ÿ“•๊ฐ•์•ฝ์•ฝ๊ฐ•์ธ๊ฐ€์š”? ์–ผ์ถ” ๋น„์Šทํ•˜๋‹ค ๋ผ๊ณ  ๋งํ•˜๊ณ  ์‹ถ์ง€๋งŒ ๊ทธ๋Ÿฐ๊ฑด ์•„๋‹ˆ๊ณ , ์ด ๋‘ ์–ธ์–ด ํ˜•

mirrorofcode.tistory.com

https://winplz.tistory.com/entry/isset-empty-isnull-unset-%ED%95%A8%EC%88%98

 

[php]isset, empty, is_null, unset ํ•จ์ˆ˜

1. isset : ๋ณ€์ˆ˜์— ๊ฐ’์ด ์กด์žฌํ•˜๊ณ , NULL ์ด ์•„๋‹Œ์ง€๋ฅผ ํ™•์ธ. ๋ณ€์ˆ˜๊ฐ€ ์กด์žฌํ•˜๊ณ  NULL ์ด ์•„๋‹Œ ๊ฐ’์„ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉด TRUE๋ฅผ ๋ฆฌํ„ดํ•ฉ๋‹ˆ๋‹ค. ๊ทธ ์™ธ์—๋Š” FALSE๋ฅผ ๋ฆฌํ„ดํ•ฉ๋‹ˆ๋‹ค.- bool isset()2. empty : ๋ณ€์ˆ˜ ๋น„์–ด์žˆ๋Š”์ง€ ํ™•์ธ

winplz.tistory.com

 

LIST