php
php 기본 문법
hojomu
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') 로 포멧해서 사용할 수 있다.