php

php ๊ฐ•์˜ ๊ณต๋ถ€ 04. ๋ฐ˜๋ณต๋ฌธ, ๋ฐฐ์—ด์˜ ํ˜•์‹, ๋ฐ˜๋ณต๋ฌธ-์กฐ๊ฑด๋ฌธ ํ™œ์šฉ

์œถโ‰ 2023. 4. 16. 22:44

* ๋ฐ˜๋ณต๋ฌธ

- ์‹œ๊ฐ„์˜ ์ˆœ์„œ์— ๋”ฐ๋ผ ์‹คํ–‰๋˜๋‹ค๊ฐ€ ์–ด๋–ค ์กฐ๊ฑด์— ๋”ฐ๋ผ์„œ ๋ฐ˜๋ณต์ ์œผ๋กœ ์‹คํ–‰๋˜๋Š” ๊ฒƒ.

- ๋ฐ˜๋ณต๋ฌธ์€ ํ•จ์ˆ˜๊ฐ€ ์•„๋‹ˆ๋ผ์„œ ๋๋‚  ๋•Œ ; ์„ ๋ถ™์ด์ง€ ์•Š์Œ(์˜ˆ์™ธ๋„ ์กด์žฌ)

 

* While

- ์กฐ๊ฑด์ด ์ฐธ์ผ ๊ฒฝ์šฐ ์†Œ์Šค์ฝ”๋“œ๋ฅผ ๋ฐ˜๋ณต ์‹คํ–‰ ์‹œํ‚ด

- ํ†ต์ƒ์ ์œผ๋กœ ๋์ด ์ •ํ•ด์ง€์ง€ ์•Š์€ ๋ฐ˜๋ณต์„ ๋Œ๋ฆด ๋•Œ ์‚ฌ์šฉ(์„œ๋ฒ„ ๋Œ๋ฆฌ๊ฑฐ๋‚˜, ๋ฌดํ•œ์ • ๋Œ€๊ธฐ์ฒ˜๋Ÿผ ์ข…๋ฃŒ ์‹œ์ ์ด ๋ถˆ๋ถ„๋ช…ํ•  ๋•Œ)

- ()์•ˆ์—๋Š” boolean ๋ฐ์ดํ„ฐ ํƒ€์ž…์ด ๋“ค์–ด์˜ค๊ณ , {} ์•ˆ์— ์žˆ๋Š” ๋‚ด์šฉ์ด ๋ฐ˜๋ณต์ ์œผ๋กœ ์‹คํ–‰๋จ.

- for๋ฌธ๊ณผ ์น˜ํ™˜ ๊ฐ€๋Šฅ. 

- while๋ฌธ ์•ˆ์—์„œ๋Š” ๋ณ€์ˆ˜ ์„ ์–ธ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ ์ „(๋ฐ”๋กœ ์œ—์ค„)์— ์„ ์–ธ.

<?php
    echo '1<br>';
    $i = 0;
    //๋ฐ˜๋ณต๋ฌธ์ด ์‹คํ–‰๋  ๋•Œ ๋งˆ๋‹ค 1์”ฉ ์ฆ๊ฐ€
    while($i < 3){ // i๊ฐ€ 3๋ณด๋‹ค ์ž‘์„ ๋•Œ true, 3๋ถ€ํ„ฐ๋Š” false
        echo '2<br>';
        $i = $i + 1; //
    }
    
    echo '3<br>'; //3๋ถ€ํ„ฐ๋Š” 3์ด ์ถœ๋ ฅ๋จ
 ?>

* For

- ์ผ์ •ํ•œ ํšŸ์ˆ˜๋งŒํผ ๋ฐ˜๋ณตํ•˜์—ฌ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๊ตฌ๋ฌธ

- ํ˜•์‹์€ ์•„๋ž˜์™€ ๊ฐ™์€๋ฐ if๋ฌธ์ฒ˜๋Ÿผ ์ฝœ๋ก ๋ฌธ๋ฒ•, ์งง์€ ๋ฌธ๋ฒ• ์‚ฌ์šฉ ๊ฐ€๋Šฅ.

- ์‹œ์ž‘๊ฐ’์„ ๋Œ€์ž…ํ•ด์„œ ์กฐ๊ฑด์‹์ด ์ฐธ์ด๋ฉด ๋ฃจํ”„ ์ค‘๋‹จ. ๊ฑฐ์ง“์ผ ๊ฒฝ์šฐ expr3 ๊ฐ’์„ ์ฆ๊ฐ ๋˜๋Š” ์ฐจ๊ฐํ•˜์—ฌ ๋ฃจํ”„ ํ˜•์„ฑ

- expr1: ๋ฃจํ”„์˜ ์‹œ์ž‘๊ฐ’

  expr2: ์กฐ๊ฑด์‹. ์‹œ์ž‘๊ฐ’์— ์˜ํ–ฅ์„ ๋ฐ›์Œ.

  expr3: ์ฆ๊ฐ(++) ๋˜๋Š” ์ฐจ๊ฐ(--). 

//์ผ๋ฐ˜(๊ด„ํ˜ธ)
for(expr1; expr2; expr3){
	statement;
}

//์ฝœ๋ก 
for(expr1; expr2; expr3):
	statement;
endfor;

//์งง์€
for(expr1; expr2; expr3)
	statement;

- endfor: php์—์„œ ๋ฐ˜๋ณต๋ฌธ์„ ์ข…๋ฃŒํ•˜๋Š” ํ‚ค์›Œ๋“œ ์ค‘ ํ•˜๋‚˜. for ๋ฌธ์—์„œ ์‚ฌ์šฉํ•  ๋•Œ ๋ฐ˜๋ณต๋ฌธ์˜ ๋์„ ํ‘œ์‹œ.

 

* ๋ฐฐ์—ด(array)

- ํ•˜๋‚˜์˜ ๋ณ€์ˆ˜์— ์—ฌ๋Ÿฌ ๊ฐ’์„ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ํŠน์ˆ˜ํ•œ ๋ณ€์ˆ˜์ด๋ฉฐ ๋ณดํ†ต ์•„๋ž˜์™€ ๊ฐ™์€ ํ˜•์‹์„ ๋„๋Š”๋ฐ

array{
	key => value,
    key2 => value2,
    key3 => value3,
    ...
}

 ์ €์žฅํ•ด์•ผํ•˜๋Š” ๋ณ€์ˆ˜๊ฐ€ ์ˆ˜๋ฐฑ๊ฐœ์ผ ๊ฒฝ์šฐ๋Š” ๊ด€๋ฆฌ๊ฐ€ ์–ด๋ ต๊ณ  ์ฝ”๋“œ๋Ÿ‰์ด ๋„ˆ๋ฌด ๋งŽ์•„์ง€๊ธฐ ๋•Œ๋ฌธ์—
 $๋ฐฐ์—ด์ด๋ฆ„ = array(...); ์™€ ๊ฐ™์€ ํ˜•์‹์„ ์ด์šฉํ•ด ๋” ๊ฐ„๋žตํ•˜๊ฒŒ ์ž‘์„ฑ.

- count($๋ฐฐ์—ด์ด๋ฆ„): ๋ฐฐ์—ด์ด ๊ฐ–๊ณ  ์žˆ๋Š” ๊ฐ’์˜ ๊ฐฏ์ˆ˜๋ฅผ ๊ณ„์‚ฐํ•ด ์ˆซ์ž๋กœ ๋ฐ˜ํ™˜

- array_push($๋ฐฐ์—ด์ด๋ฆ„, ์ถ”๊ฐ€ํ•  ๊ฐ’): array์— ์ƒˆ๋กœ์šด ๊ฐ’ ์ถ”๊ฐ€

<?php
    $calendar = array('January','February','March','April');
    //๋ฐฐ์—ด ์ด๋ฆ„ = ๋ฐฐ์—ด ํ‘œํ˜„์‹
    echo $calendar[3].'<br>';   //April
    var_dump(count($calendar)); //int(4)

    array_push($calendar,'May');//๋ฐฐ์—ด์— ๊ฐ’ ์ถ”๊ฐ€
    var_dump($calendar);
    //int(4) array(5) 
    //{ [0]=> string(7) "January" 
    //	[1]=> string(8) "February" 
    //	[2]=> string(5) "March" 
    //	[3]=> string(5) "April" 
    //	[4]=> string(3) "May" }
  ?>

 

* ๋ฐ˜๋ณต๋ฌธ๊ณผ ์กฐ๊ฑด๋ฌธ ํ™œ์šฉํ•˜๊ธฐ

- scandir(): ๋””๋ ‰ํ† ๋ฆฌ ๋‚ด๋ถ€์˜ ํŒŒ์ผ ๋ชฉ๋ก์„ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๊ณ , ํŒŒ์ผ์˜ ์ด๋ฆ„์„ ๋ฐฐ์—ด๋กœ ๋‹ด์•„์„œ ์ „๋‹ฌ.

<?php
        $list = scandir('./data');
        var_dump($list);
    ?>
//ํŽ˜์ด์ง€ ์†Œ์Šค ๊ฒฐ๊ณผ
// array(6) {
//[0]=>
//string(1) "."
//[1]=>
//string(2) ".."
//[2]=>
//string(3) "CSS"
//[3]=>
//string(4) "HTML"
//[4]=>
//string(10) "JavaScript"
//[5]=>
// string(3) "PHP"
}

- ์ˆซ์ž๋ฅผ ์ œ์™ธํ•œ ๋‚˜๋จธ์ง€ ๋ถ€๋ถ„์€ ์ผ์ •ํ•œ ํŒจํ„ด์œผ๋กœ ๋ฐ˜๋ณต ๋˜๋ฏ€๋กœ ํšจ์œจ์ ์œผ๋กœ ์กฐ๊ฑด๋ฌธ์„ ํ†ตํ•ด ๋ฐ”๊ฟ”๋ณด๊ธฐ

- \n: <br>ํšจ๊ณผ์™€ ๋™์ผ

 <?php
        $list = scandir('./data');
        echo"<li>$list[0]</li>\n";  //ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ
        echo"<li>$list[1]</li>\n";  //ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ์˜ ๋ถ€๋ชจ
        echo"<li>$list[2]</li>\n";  //CSS
        echo"<li>$list[3]</li>\n";  //HTML
        echo"<li>$list[4]</li>\n";  //JavaScript
        echo"<li>$list[5]</li>\n";  //PHP
    ?>

- php์—์„œ๋Š” ""(ํฐ๋”ฐ์˜ดํ‘œ)๋Š” ๊ตฌ๋ถ„์ž๋กœ ์ธ์‹. ๋”ฐ๋ผ์„œ \ ์‚ฌ์šฉ ํ•˜๋ฉด php๊ฐ€ ๊ฐ–๊ณ  ์žˆ๋Š” ๋ฌธ๋ฒ•์ ์ธ ๊ธฐ๋Šฅ์„ ๋ฌด์‹œํ•˜๊ณ  ๋ฌธ์ž๋กœ ์ฒ˜๋ฆฌ

<?php
        $i = 0;
        while($i < count($list)){
            echo"<li><a href=\"index.php?id=$list[$i]\">$list[$i]</a></li>\n"; 
            $i = $i +1; //ํ•ด๋‹นํ•˜๋Š” ๋””๋ ‰ํ† ๋ฆฌ ๋‚ด๋ถ€์˜ ํŒŒ์ผ์˜ ์ˆซ์ž๋งŒํผ ๋ฐ˜๋ณต๋ฌธ ์‹คํ–‰.
        }
?>

- ์—ฌ๊ธฐ์„œ .๋กœ ๋œจ๋Š” ๋ฆฌ์ŠคํŠธ๋ฅผ ์—†์• ๊ธฐ ์œ„ํ•ด์„œ ๋‹ค์‹œ ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•˜๋Š”๋ฐ ๋น„๊ต๋ฌธ์„ ์ด์šฉํ•ด์„œ ํ•ด๊ฒฐ. i๋ฅผ 2๋กœ ์„ค์ •ํ•ด ๋‘๋Š” ๊ฒƒ์€ ๊ทผ๋ณธ์ ์ธ ํ•ด๊ฒฐ์ฑ…์ด ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ์•„๋ž˜์™€ ๊ฐ™์ด ๋น„๊ต๋ฌธ์„ ์ด์šฉํ•˜๊ธฐ.

- != :  ์–‘์ชฝ ํ•ญ์˜ ๊ฐ’์ด ๋‹ค๋ฅผ ๋•Œ ์ฐธ

<?php
    $list = scandir('./data');
    $i = 0;
    while($i < count($list)){
        if($list[$i] != '.'){
            if($list[$i] != '..'){
                echo"<li><a href=\"index.php?id=$list[$i]\">$list[$i]</a></li>\n"; 
            }
        }
        $i = $i +1; 
      }
    ?>

 

// ํ•™์Šต๊ฒฝ๋กœ: ์ƒํ™œ์ฝ”๋”ฉ web2 php ์˜์ƒ