empty() 함수

: 변수의 값이 빈값인지 확인한다.

 

 

empty ( mixed $변수 ) : bool

 

변수가 존재하고, 비어 있지 않고, 0이 아닌 값을 가진 경우 FALSE를 반환한다. 그렇지 않으면 TRUE를 반환한다.

다음 값은 비어 있는 것으로 간주한다.

  • "" (빈 문자열)
  • 0(정수로 0)
  • 0.0 (0을 float로)
  • "0"( 문자열로 0)
  • NULL
  • FALSE
  • array() (빈 배열)



 

<예제 php 소스코드>

 

예제1)

<?php
$var 
0;

// $var가 비어 있으므로 true로 평가if (empty($var)) {
    echo 
'$var is either 0, empty, or not set at all';
}

// $var가 설정되어 있으므로 true로 평가

if (isset($var)) {
    echo 
'$var is set even though it is empty';
}
?>

 

 

 

예제2) 문자열 오프셋의 예

<?php
$expected_array_got_string 
'somestring';
var_dump(empty($expected_array_got_string['some_key']));
var_dump(empty($expected_array_got_string[0]));
var_dump(empty($expected_array_got_string['0']));
var_dump(empty($expected_array_got_string[0.5]));
var_dump(empty($expected_array_got_string['0.5']));
var_dump(empty($expected_array_got_string['0 Mostel']));
?>

 

<예제2 출력>

 

PHP 5.3에서 위 예제의 출력:

 

bool(false)

bool(false)

bool(false)

bool(false)

bool(false)

bool(false)

 

 

 

PHP 5.4에서 위 예제의 출력:

 

bool(true)

bool(false)

bool(false)

bool(false)

bool(true)

bool(true)

 

'Web Programming Language > PHP' 카테고리의 다른 글

PHP) MySQL 쿼리 실행하기 mysqli_query( )  (0) 2020.10.27
php 웹서버 전송방식  (0) 2020.10.27
PHP) php header utf-8, euc-kr 인코딩 변환  (0) 2020.10.26
반복문과 배열의 활용  (0) 2020.10.23
배열  (0) 2020.10.23

 

header("Content-type: text/html; charset=utf-8");

: UTF-8로 변환

 

header("Content-type: text/html; charset=euc-kr");

: EUC-KR로 변환

 

 

php 소스코드 제일 상단에 적용.

 

 



출처 :

https://okkks.tistory.com/951 [이건없지]

 

 

 

 

 

 

 

 

 

'Web Programming Language > PHP' 카테고리의 다른 글

php 웹서버 전송방식  (0) 2020.10.27
empty() 함수  (0) 2020.10.26
반복문과 배열의 활용  (0) 2020.10.23
배열  (0) 2020.10.23
반복문 while  (0) 2020.10.23

반복문과 배열의 활용

 

scandir() 함수 : 지정된 경로 내의 파일과 디렉토리를 나열. (배열 형태로 만듦.)

 

 

 

목표 :

data 디렉토리에 있는 파일의 목록을 가져와서,
해당 파일을 목록 하나 하나로 li와 a태그를 이용하여
글목록을 만들어보자.

 

 

[data 디렉토리]

 

 

 

 

 

먼저, 디렉토리 안의 파일 리스트를 가져오는 php 함수를 찾아보자.

 

 

 

 

scandir( ) 함수가 그러한 기능을 한다는 것을 알아내었다.

 

 

 

 

 

변수로 대상 디렉토리의 파일 목록을 받아올 수 있다.

 

아래 예제를 보면,

 

먼저, dir 변수에 해당 디렉토리의 경로를 넣어준다.

그다음 이 dir 변수(디렉토리 경로) 값을 scandir( ) 함수에 넣어줌으로써 결과로 받아오는 파일 목록값을

files1 변수에 넣어주면, 결국 이 files1 변수로 디렉토리의 파일 목록을 가져올 수 있게된다.

 

 

 

 

 

디렉토리의 파일 목록을 받아오는 또 다른 방법으로는, 

 

 

$files1 = scandir('./tmp');

이런식으로 scandir( ) 함수에 디렉토리 경로를 바로 받아와서 사용할 수도 있다.

 

 

 

 

 

 

 

이어서, scandir( ) 함수를 좀 더 살펴보면 받아오는 디렉터리의 파일을 배열 형태로 가져오는 것을 알수있다.

 

 

 

 

 

 

이제, 목표대로 코드를 작성해보자.

 

목표 : data 디렉토리에 있는 파일의 목록을 가져와서, 
해당 파일을 목록 하나 하나로 li와 a태그를 이용하여 
글목록을 만들어보자.

 

 

 

<php 소스코드>

 

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
  <title></title>
  </head>
  <body>


    <h1><a href="index4.php">WEB</a></h1>

    <ol>


      <?php
        $list = scandir('./data');           /* scandir() 함수 : 지정된 경로 내의 파일과 디렉토리를 나열. 배열 형태로 만듦.
                                              현재위치의 data 디렉토리에 파일과 디렉토리를 배열 형태로 나열. list라는 이름의 배열로 */

        echo "list배열 원소 개수 : ", (count($list));                 // list 배열의 원소 개수 출력. count() 함수 : 배열의 원소의 갯수를 출력.
        echo '<br>';
        echo "list배열 원소들 출력 : ";
        print_r ($list);                      // list 배열 원소들 출력.

        echo '<br>';
        echo '<br>';

        $i = 0;                                // 배열 원소는 [0]부터 시작.

        while($i < count($list)){              // 반복문. list 배열의 원소 개수만큼 반복하겠다.
          if($list[$i] != '.'){                /* scandir() 함수를 사용하여 파일과 디렉토리를 가져오면
                                                첫번째, 두번째 항목을 . 과 .. 으로 가져올 때가 있다.
                                                이 항목들을 제외하여 출력할 것이다. */
            if($list[$i] != '..'){
                echo "<li><a href=\"index4.php?id=$list[$i]\">$list[$i]</a></li>\n";
              }                                /* 하이퍼링크로 id 파라미터값을 원소들 값으로 받아오겠다.
                                                 또한, 이를 가지고 list 배열의 원소들 값 목록 생성. */
            }
          $i = $i + 1;
        }
       ?>


    </ol>


    <h2>
      <?php
      if(isset($_GET['id'])){                       /* isset() 함수 : 해당 변수가 선언되었는지 확인하고 그렇다면 True, 아니면 False를 출력. 즉 if ()안에 true, false 값을 주게된다.
                                                    즉, isset() 함수 괄호안에 변수로 GET방식으로 id 파라미터값을 받아오려하는데 이 id 파라미터값이 존재하는지 확인하는 조건문이다. */

        echo $_GET['id'];                           // id 파라미터값이 존재한다면 해당 id 파라미터값 출력.
      }
      else {                                        // 존재하지 않는다면 else {}안 입력값 실행.(else { }안에 입력한 값 출력.)
        echo "Welcome!";
      }
      ?>
    </h2>


      <?php
      if(isset($_GET['id'])){                       /* isset() 함수 : 해당 변수가 선언되었는지 확인하고 그렇다면 True, 아니면 False를 출력. 즉 if ()안에 true, false 값을 주게된다.
                                                    즉, isset() 함수 괄호안에 변수로 GET방식으로 id 파라미터값을 받아오려하는데 이 id 파라미터값이 존재하는지 확인하는 조건문이다. */

        echo file_get_contents("data/".$_GET['id']);      /* file_get_contents() 함수는 해당 경로에 있는 파일의 내용을 가져오는 함수이다.
                                                      여기서는, data 폴더안의 (GET함수로 받아온 id 파라미터값에 해당하는 이름의 파일)파일의 내용을 가져오게된다.
                                                      id 파라미터값은 하이퍼링크를 클릭하여 받아온 값이 된다(위에 코드 참고). CSS,HTML,JavaScript 셋 중 하나.
                                                      "data/"와 $_GET['id']을 .을 통해 연결해 data/CSS 또는 data/HTML 또는 data/JavaScript 경로의 모습으로 완성되게된다.
                                                      CSS, HTML, JavaScript 파일에는 각각 다른 내용을 입력해 저장해두었다.
                                                          */
        }
      else {                                        // 존재하지 않는다면 else {}안 입력값 실행.(else { }안에 입력한 값 출력.)
        echo "Hello~";
      }
      ?>
  </body>
</html>

 

 

 

 

 

 

 

 

<웹페이지 출력>

 

 

1. id 파라미터값을 입력하지 않았을때

 

 

 

 

 

2. HTML 하이퍼링크를 클릭하였을때

 

 

 

 

 

 

3. CSS 하이퍼링크를 클릭하였을때

 

 

 

 

 

4. JavaScript 하이퍼링크를 클릭하였을때

 

 

 

 

 

 

5. MySQL 하이퍼링크를 클릭하였을때

 

 

 

 

 

6. PHP 하이퍼링크를 클릭하였을때

 

 

 

 

 

  • data 디렉토리에 GitHub 파일을 새로 생성하였을때

 

 

 

아래와 같이 목록에서도 추가가 되는 것을 볼 수 있다.

 

 

'Web Programming Language > PHP' 카테고리의 다른 글

empty() 함수  (0) 2020.10.26
PHP) php header utf-8, euc-kr 인코딩 변환  (0) 2020.10.26
배열  (0) 2020.10.23
반복문 while  (0) 2020.10.23
조건문 활용, isset() 함수  (0) 2020.10.22

배열

 

 

array() : 배열을 표현할때 사용한다. 배열 표현식.

 

count() 함수 : 배열의 원소 총 개수를 출력.

 

array_push() 함수 : 배열에 원소 추가.(끝에 추가함.)

 

print_r() 함수 : 사람이 읽을 수 있는 변수 정보를 출력. 배열을 출력할 경우, 배열의 원소들 값과 구조를 출력함.

 

var_dump() 함수 : 데이터타입과 결과값 출력. 배열을 출력할 경우, 배열의 원소들 값과 구조를 데이터타입과 함께 출력함.

 

echo '<br>';     :    html의 <br> 태그를 사용할땐 echo와 ' '를 사용해야 되나봄. 

 

 

 

 

<php 소스코드>

 

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Array</title>
  </head>
  <body>
    <h1>Array</h1>
    <?php
    $friends = array('david', 'garcia', 'sergio', 'poden');     // 배열 표현식. array()는 배열을 표현할때 사용한다.

    echo $friends[1];           /* 배열의 원소값 출력. garcia가 출력된다. friends라는 이름의 배열의 2번째에 있는 원소값 출력.                      순서는 0부터 시작한다. */
    echo '<br>';                // html의 <br> 태그를 사용할땐 echo와 ' '를 사용해야 되나봄.
    echo $friends[3];           // friends라는 이름의 배열의 4번째에 있는 원소값 출력.
    echo '<br>';

    echo count($friends);       // count() 함수 : 배열의 원소 총 개수를 출력.

    echo '<br>';

    var_dump(count($friends));  // var_dump() 함수 : 데이터타입과 결과값 출력.

    array_push($friends, 'yankee');   // array_push() 함수 : 배열에 원소 추가.(끝에 추가함.)
    echo '<br>';
    echo '<br>';

    echo "PHP에서 배열 구조와 값을 표시하는 방법 : print_r, var_dump";
    echo '<br>';

    print_r($friends);         /* print_r() 함수 : 사람이 읽을 수 있는 변수 정보를 출력.
                                 배열을 출력할 경우, 배열의 원소들 값과 구조를 출력함. */
    echo '<br>';
    var_dump($friends);       /* var_dump() 함수 :
                                배열을 출력할 경우, 배열의 원소들 값과 구조를 데이터타입과 함께 출력함  */
    ?>
  </body>
</html>

 

 

 

 

<웹페이지 출력>

 

'Web Programming Language > PHP' 카테고리의 다른 글

PHP) php header utf-8, euc-kr 인코딩 변환  (0) 2020.10.26
반복문과 배열의 활용  (0) 2020.10.23
반복문 while  (0) 2020.10.23
조건문 활용, isset() 함수  (0) 2020.10.22
조건문 if  (0) 2020.10.22

반복문 while

 

 

<php 소스코드>

 

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Loop</title>
  </head>
  <body>
    <h1>while</h1>
    <?php
    echo '1<br>';

    $i = 0;

    while($i < 3){                   // html의 <br>을 사용하려면 ' '을 써야하나보다. 원래 숫자는 ''에 넣지 않아도 되는데, 쓰는걸 보니.
    echo '2<br>';
    $i = $i + 1;
    }
    
    echo '3<br>';
     ?>
  </body>
</html>

 

 

 

 

<웹페이지 출력>

 

 

 

'Web Programming Language > PHP' 카테고리의 다른 글

반복문과 배열의 활용  (0) 2020.10.23
배열  (0) 2020.10.23
조건문 활용, isset() 함수  (0) 2020.10.22
조건문 if  (0) 2020.10.22
var_dump() 함수, 비교 연산자의 사용, Boolean 데이터타입  (0) 2020.10.22

조건문 활용, isset() 함수

 

isset() 함수 : 해당 변수가 선언되었는지 확인하고 그렇다면 True, 아니면 False를 출력.

 

 

 

isset() 함수 괄호에 변수로 GET방식으로 id 파라미터값을 받아오려하는데,

이 id 파라미터값이 존재하는지 확인하는 조건문이다.

 

 

<php 소스코드>

 

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
  <title></title>
  </head>
  <body>
    <h1><a href="index3.php">WEB</a></h1>
    <ol>
      <li><a href="index3.php?id=HTML">HTML</a></li>                 <!-- 해당 하이퍼링크를 클릭하면 id 파라미터 값(여기선 HTML)을 전달한다. 즉, 클릭하면 id 값으로 HTML이 들어간다.-->
      <li><a href="index3.php?id=CSS">CSS</a></li>                   <!-- 해당 하이퍼링크를 클릭하면 id 파라미터 값(여기선 CSS)을 전달한다. -->
      <li><a href="index3.php?id=JavaScript">JavaScript</a></li>     <!-- 해당 하이퍼링크를 클릭하면 id 파라미터 값(여기선 JavaScript)을 전달한다. -->
    </ol>
    
   
     <h2>
      <?php
      if(isset($_GET['id'])){                       /* isset() 함수 : 해당 변수가 선언되었는지 확인하고 그렇다면 True, 아니면 False를 출력. 즉 if ()안에 true, false 값을 주게된다.
                                                    즉, isset() 함수 괄호안에 변수로 GET방식으로 id 파라미터값을 받아오려하는데 이 id 파라미터값이 존재하는지 확인하는 조건문이다. */
        
      echo $_GET['id'];                           // id 파라미터값이 존재한다면 해당 id 파라미터값 출력.
      }
      else {                                        // 존재하지 않는다면 else {}안 입력값 실행.(else { }안에 입력한 값 출력.)
        echo "HTML, CSS, JavaScript 중 하나를 선택해주세요.(id 파라미터값 입력 안됨)";
      }
      ?>
    </h2>


    
    <?php
      if(isset($_GET['id'])){                      /* isset() 함수 : 해당 변수가 선언되었는지 확인하고 그렇다면 True, 아니면 False를 출력. 즉 if ()안에 true, false 값을 주게된다.
                                                    즉, isset() 함수 괄호안에 변수로 GET방식으로 id 파라미터값을 받아오려하는데 이 id 파라미터값이 존재하는지 확인하는 조건문이다. */

        echo file_get_contents("data/".$_GET['id']);      /* file_get_contents() 함수는 해당 경로에 있는 파일의 내용을 가져오는 함수이다.
                                                      여기서는, data 폴더안의 (GET함수로 받아온 id 파라미터값에 해당하는 이름의 파일)파일의 내용을 가져오게된다.
                                                      id 파라미터값은 하이퍼링크를 클릭하여 받아온 값이 된다(위에 코드 참고). CSS,HTML,JavaScript 셋 중 하나.
                                                      "data/"와 $_GET['id']을 .을 통해 연결해 data/CSS 또는 data/HTML 또는 data/JavaScript 경로의 모습으로 완성되게된다.
                                                      CSS, HTML, JavaScript 파일에는 각각 다른 내용을 입력해 저장해두었다.
                                                          */
        }
      else {                                        // 존재하지 않는다면 else {}안 입력값 실행.(else { }안에 입력한 값 출력.)
        echo "HTML, CSS, JavaScript 중 하나를 선택해주세요222.(id 파라미터값 입력 안됨)";
      }
      ?>


  </body>
</html>

 

 

 

 

<웹페이지 출력>

 

1. id 파라미터값을 입력하지 않았을때

 

/

 

 

 

 

2. HTML 하이퍼링크를 클릭하였을때

 

 

 

 

 

3. CSS 하이퍼링크를 클릭하였을때

 

 

 

 

 

4. JavaScript 하이퍼링크를 클릭하였을때

 

 

'Web Programming Language > PHP' 카테고리의 다른 글

배열  (0) 2020.10.23
반복문 while  (0) 2020.10.23
조건문 if  (0) 2020.10.22
var_dump() 함수, 비교 연산자의 사용, Boolean 데이터타입  (0) 2020.10.22
file_get_contents() 함수  (0) 2020.10.22

+ Recent posts