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

2023.04.03 ์›” (PHP ๋ฐฐ์—ด)

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

์›นํ”„๋กœ๊ทธ๋ž˜๋ฐ 5์ฃผ์ฐจ 1์ฐจ์‹œ ๊ฐ•์˜๋‚ด์šฉ

 

๋ฐฐ์—ด์˜ ํŠน์ง•

 1. ๊ฐ’๋“ค์ด ๋ชจ์—ฌ์žˆ๋‹ค.

 2. ๊ฐ’์˜ ์œ„์น˜์— ๋”ฐ๋ฅธ ์ˆœ์„œ๊ฐ€ ์žˆ๋‹ค. (์ธ๋ฑ์Šค)

 3. ์ˆœ์„œ ๊ฐœ๋…์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ’์ด ์ค‘๋ณต๋  ์ˆ˜ ์žˆ๋‹ค.


 

PHP ๋ฐฐ์—ด์˜ ์ข…๋ฅ˜

 1. ์ธ๋ฑ์Šค ๋ฐฐ์—ด (์ธ๋ฑ์Šค๋กœ ๋ฐฐ์—ด์˜ ์œ„์น˜๋ฅผ ๋งŒ๋“ฆ)

   - ์„ ์–ธ๋ฌธ์„ ํ†ตํ•ด ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•œ๋‹ค.

   - ๋ฐฐ์—ด์—์„œ์˜ ๊ฐ’์˜ ์œ„์น˜๋ฅผ ์ธ๋ฑ์Šค (์ƒ‰์ธ)๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.

 

 2. ์—ฐ๊ด€ ๋ฐฐ์—ด (ํ‚ค์™€ ๊ฐ’์„ ํ•˜๋‚˜์˜ ์Œ์œผ๋กœ  ์›์†Œ๋กœ ํ‘œํ˜„ํ•˜๋Š” ๋ฐฉ์‹)

   - ํ•™๋ฒˆ : 14

     ์ด๋ฆ„ : ๋‘˜๋ฆฌ

     ํ•™๋…„ : 5 ์ผ ๊ฒฝ์šฐ. ์ฝœ๋ก ์„ ๊ธฐ์ค€์œผ๋กœ ์™ผ์ชฝ์€ key, ์˜ค๋ฅธ์ชฝ์€ value๋ผ๊ณ  ํ•œ๋‹ค.

   - ๊ฐ™์€ ๋ฐฐ์—ด ๋‚ด์—์„œ key๋Š” ์ค‘๋ณต๋˜๋ฉด ์•ˆ๋œ๋‹ค.


PHP ๋ฐฐ์—ด ์ƒ์„ฑ๋ฒ•

 1. ์ธ๋ฑ์Šค ๋ฐฐ์—ด (2๊ฐ€์ง€)   1-1. $a = [12, 5.2, "php"];   1-2. $a = array(12, 5.2, "php");

 

 2. ์—ฐ๊ด€ ๋ฐฐ์—ด        $a = array ('one' => 1,                           'two' => 2,

                           'three' => 3) ;   ์—ฌ๊ธฐ์—์„œ key์™€ value์˜ ์ž๋ฃŒํ˜•์„ ๋‹ฌ๋ผ๋„ ๋˜๋ฉฐ, key๋Š” ๋ฌธ์ž์ด๊ธฐ ๋•Œ๋ฌธ์— ๋”ฐ์˜ดํ‘œ๋ฅผ ์ ์–ด์ฃผ์–ด์•ผ ํ•œ๋‹ค (์‹ฑ๊ธ€, ๋”๋ธ” ๋ฌด๊ด€)

 

 3. ์›์†Œ ์—†์ด ๋ฐฐ์—ด ์ƒ์„ฑ

        $a = [ ];

        $a = array () ;


PHP ๋ฐฐ์—ด ์ ‘๊ทผ๋ฒ•

 1. ์ธ๋ฑ์Šค ๋ฐฐ์—ด : ์ธ๋ฑ์Šค๋ฅผ ์ด์šฉํ•ด์„œ ์ ‘๊ทผ

        ex)    $c = $a[0] + $b[1];   or

                 $a[2] = 91;   // a๋ฐฐ์—ด์˜ ์„ธ ๋ฒˆ์งธ ์ž๋ฆฌ์— 91 ๋Œ€์ž…

 

 2. ์—ฐ๊ด€ ๋ฐฐ์—ด : ํ‚ค๋ฅผ ์ด์šฉํ•ด์„œ ์ ‘๊ทผ

                $c = $a['one'] + $b['price'];


๊ธฐํƒ€

1. C์–ธ์–ด์™€ PHP์—์„œ์˜ ๋ฐฐ์—ด ์ฐจ์ด์ 

     C = ๊ณ ์ • ๊ธธ์ด ๋ฐฐ์—ด

     PHP = ๊ฐ€๋ณ€ ๊ธธ์ด ๋ฐฐ์—ด๋กœ ๊ตฌ์กฐ๋Š” ๊ฐ™์ง€๋งŒ ์ฒ˜๋ฆฌ ๋ฐฉ์‹์ด ๋‹ค๋ฅด๋‹ค.

     PHP๋Š” ์›์†Œ ์—†์ด ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•œ ํ›„, ๋‚˜์ค‘์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

 

2. COUNT ํ•จ์ˆ˜

 - ๋ฐฐ์—ด์˜ ๊ธธ์ด๋ฅผ ๋‚˜ํƒ€๋‚ด์ค€๋‹ค.

 - count($๋ฐฐ์—ด)

 - ex)  for( $i; $i < count($a); $i++)

           $a[$i]++;  ๋ฐฐ์—ด์˜ ๊ธธ์ด๋งŒํผ ๋ฐ˜๋ณต ์‹คํ–‰. ๋ฐฐ์—ด์˜ ๊ฐ’๋“ค์„ ํ•˜๋‚˜์”ฉ ์ฆ๊ฐ€์‹œํ‚ค๋Š” ์ฝ”๋“œ

 

3. foreach

 - ex)  foreach($a as $b)  // $a๋Š” ๋ฐฐ์—ด, $b๋Š” ์›์†Œ ๋ณ€์ˆ˜

           $c = $e + 2; a๋ฐฐ์—ด์˜ ์›์†Œ๊ฐ€ ๋‹ค ๋๋‚ ๋•Œ๊นŒ์ง€ a๊ฐ€ ์›์†Œ ๋ณ€์ˆ˜๋กœ ๋“ค์–ด๊ฐ.

 - ์ด๋ฏธ ๋“ค์–ด์žˆ๋Š” ๊ฐ’์„ ์ฝ์–ด์™€์„œ ๋‹ค๋ฅธ ๋ฌด์–ธ๊ฐ€๋ฅผ ์ฒ˜๋ฆฌํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹


์ฝ”๋“œ

// htdocs/test/menu.php


<?php error_reporting(0);
    $menu = [];
    $price = [3800, 4500, 5500, 7100];
    $menu[0] = '์น˜์ฆˆ๊น€๋ฐฅ'; # ๊ฐ€๋ณ€๊ธธ์ด๋ฐฐ์—ด์ด๋ฏ€๋กœ ์›์†Œ๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Œ
    $menu[1] = '๋ผ๋ฉด';
    $menu[2] = '์นผ๊ตญ์ˆ˜'; 
    $menu[3] = '๋ˆ๊ฐ€์Šค';

    $order = [];
    $order[0] = $_GET['m0'];
    $order[1] = $_GET['m1'];
    $order[2] = $_GET['m2'];
    $order[3] = $_GET['m3'];
   // var_dump($order);

    for($i = 0; $i < 4; $i++){
        echo "$menu[$i] $order[$i]๊ฐœ";
        $sum[$i] = $order[$i] * $price[$i];
        echo " ๊ฐ€๊ฒฉ : ($order[$i] * $price[$i]) = $sum[$i] <br>";
    }
    
    for($i = 0; $i < 4; $i++)
    $total += $sum[$i];
    echo "์ด ๊ธˆ์•ก = $total";
    
    
#๋‹น์‹ ์ด ์ฃผ๋ฌธํ•œ ์Œ์‹์˜ ๊ฐ ๊ธˆ์•ก์€ ์–ผ๋งˆ์ด๊ณ  ์ด์•ก์€ ์–ผ๋งˆ์ž…๋‹ˆ๋‹ค ์ถœ๋ ฅ ๊ณผ์ œ

# ์น˜์ฆˆ๊น€๋ฐฅ = 3800 * 3 = 
# ๋ผ๋ฉด = 4500 * 2 =

# ์ด ๊ธˆ์•ก = 
?>
// htdocs/test/5-1array.php

<!doctype HTML>
<html> 
    <head>
        <title>Food</title>
        <meta charset = "utf-8">
    </head>
    <body>
        <h1>YamYam Food</h1>
        <h3>Our Menu</h3>
        <?php
      
            $menu = [];
            $price = [3800, 4500, 5500, 7100];
            $menu[0] = '์น˜์ฆˆ๊น€๋ฐฅ'; # ๊ฐ€๋ณ€๊ธธ์ด๋ฐฐ์—ด์ด๋ฏ€๋กœ ์›์†Œ๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Œ
            $menu[1] = '๋ผ๋ฉด';
            $menu[2] = '์นผ๊ตญ์ˆ˜'; 
            $menu[3] = '๋ˆ๊ฐ€์Šค';
            
            echo "<ul>";
            for($i = 0; $i < count($menu); $i++){
                echo "<li>$menu[$i] : $price[$i] </li><br>";
            }
            echo "</ul>";
    

                            /*
                            # ์˜ˆ์ œ : ์›์˜ ๋ฐ˜์ง€๋ฆ„์„ 5 ~ 20์‚ฌ์ด๋กœ ์ž„์˜์˜ ์ˆ˜ 5๊ฐœ๋ฅผ ๊ฐ€์ ธ์™€์„œ
                            # ๋ฐฐ์—ด์— ์ €์žฅํ•˜๊ณ  ๋ฉด์ ์„ ๊ฐ๊ฐ ๊ณ„์‚ฐํ•œ ๋‹ค์Œ ์ถœ๋ ฅํ•˜๊ธฐ
                            # mt_rand(5, 20)
                            $radius = [];  // ๋น„์–ด์žˆ๋Š” ๋ฐฐใ…•ใ…‡ใ„น ์„ ์–ธ
                            for($i = 0; $i < 5; $i++) // ๋‹ค์„ฏ ๋ฒˆ ๋ฐ˜๋ณต
                            $radius[$i] = mt_rand(5, 20);  // ์ž„์˜์˜ ์ˆซ์ž๋ฅผ ๊ตฌํ•ด์„œ radius์— ์ถ”๊ฐ€
                            echo "๋ฐ˜์ง€๋ฆ„ : ๋ฉด์  : <br>"; 
                            for($i = 0; $i < 5; $i++) { // ๊ฐ’์„ ์ผ๊ฒ…์˜ค๊ธฐ ์œ„ํ•ด ๋ฐ˜๋ณต๋ฌธ ๋Œ๋ฆผ
                                $size = $radius[$i] ** 2 * 3.1415;  // ์ฒซ๋ฒˆ์งธ ์ฝ์–ด์™€์„œ ๊ณ„์‚ฐํ•ด์ฃผ๊ณ 
                                echo "$radius[$i] : $size <br>";  // ์ถœ๋ ฅํ•ด์ฃผ๊ณ  ๋ฐ˜๋ณต
                            }
                            */
?>
    <hr>
    <h3>Your Order</h3>
    <form action="menu.php" method="get">
<?php
        for($i = 0; $i < (count($menu)); $i++)
        echo "$menu[$i] <input type='number' name='m$i' value='0'><br>"; // name m$1์€ ๊ฐ ํ•„๋“œ๋งˆ๋‹ค ๊ณ ์œ ํ•œ ๋ฒˆํ˜ธ๋ฅผ ์ฃผ๋Š” ๊ฒƒ value๋Š” ๋””ํดํŠธ ๊ฐ’์„ ์„ธํŒ…ํ•˜๋Š” ๊ฒƒ
        
?>
    <input type = "submit" value="๊ณ„์‚ฐ">
    </form>
</body>
</html>
LIST