ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • php 기본 문법
    php 2023. 8. 9. 11:08

    1. 변수선언

     - 변수 타입을 지정하지 않아도 값에 따라 타입이 지정된다

    <?php
    
    // $변수명 = 값; 
    $variable = value;

     

    2. 출력

     - php파일을 읽어서 문자열이나, 숫자, html 파일 등 까지도 출력할 수 있다

    <?php
    // 문자열
    echo 'Hello World';
    
    // 변수 선언
    $raw = '22. 11. 1968';
    $start = DateTime::createFromFormat('d. m. Y', $raw);
    // 변수 출력
    echo 'start date' . $start->format('Y-m-d') . PHP_EOL;
    
    // PHP_EOL 은 개행을 의미한다.

     

    3. 메소드 사용

    <?php
    $raw = '22. 11. 1968';
    $start = DateTime::createFromFormat('d. m. Y', $raw);
    
    // 변수 복사
    $end = clone $start;
    
    // 메소드 활용
    $end -> add(new DateInterval('P1M6D')); // P 는 Period
    $diff = $end -> diff($start);
    
    echo 'Difference: ' . $diff -> format('%m month, %d days (total: %a days)') . PHP_EOL;

     

    4. 비교 연산자 사용

    <?php
    if($start < $end){
    	echo "Start is before the end" . PHP_EOL;
    }

     

    5. 클래스 활용, 반복문

     - 클래스로 부터 특정 기능들을 활용할 수 있다.

    DateInterval 로 날짜의 시간간격(규칙)을 지정하고

    DatePeriod 로 날짜를 특정화 해보자

    <?php
    $periodInterval = DateInterval::createFromDateString('first thursday');
    var_dump($periodInterval);
    echo '띄어쓰기' . PHP_EOL;
    print_r($periodInterval);

     - $periodInterval 변수에 날짜의 시간간격(규칙)을 나타내는 객체를 저장했다.

    객체의 형태를 확인하려면 var_dump($variable) 또는 print_r($variable)을 활용한다.

    <?php
    $periodIterator = new DatePeriod($start, $periodInterval, $end, DatePeriod::EXCLUDE_START_DATE);
    foreach ($periodIterator as $date) {
        // 지정된 기간 안에 있는 모든 날짜를 출력한다.
        echo $date->format('Y-m-d') . ' ';
    }

     - new DatePeriod 에 (시작날짜, 시간간격, 끝나는날짜, 시작날짜 포함여부) 를 넣어서 $periodIterator 변수에 저장하고

    foreach 문을 활용해서 하나씩 출력했다.

     

    new DatePeriod(start , interval , end , DatePeriod:: ) 의 결과는 특정 조건을 만족하는 객체이고,

    다음과 같이 foreach 반복문을 거치면

    foreach($periodIterator as $date){ $date } 내부에서 

    class DateTime#6 (3) {
      public $date =>
      string(26) "1968-11-28 11:02:13.000000"
      public $timezone_type =>
      int(3)
      public $timezone =>
      string(10) "Asia/Seoul"
    }

    DateTime 클래스를 반환한다. 이것을 $date -> format('Y-m-d') 로 포멧해서 사용할 수 있다.

    'php' 카테고리의 다른 글

    codeigniter 프로젝트 생성  (0) 2023.08.09
    php의 Composer 활용하기  (0) 2023.08.09
    php 기본 문법 2  (0) 2023.08.09
    php 백엔드 개발환경 설정 (windows)  (0) 2023.08.08
    scoop으로 php 다운받기  (0) 2023.08.08
Designed by Tistory.