<?php
...
?>
php engine에게 "지금부터 php문법이 시작된다."라고 알려주는 문법
지금부터 시작되는 문법은 php 문법에 따라 해석해야한다는 걸 알려주는 문법
화면에 출력해주는 역할 (= print
도 가능)
<?php
echo "hello world";
print "hello world";
?>
하나의 명령이 끝날 때 반드시 ;(세미콜론)
을 붙여줘야 한다.
하나의 명령이 끝났다고 해주는 문법 (안쓰면 오류 발생)
데이터 형식을 보여주는 문법
var_dump(6) #result : int(6)
var_dump(5.1) #result : float(5.1)
var_dump("Hello World") #result : string(11) "Hello World"
gettype()
을 통해 데이터 타입을 확인할 수 있음
settype()
을 통해 데이터 타입을 지정할 수 있음
<html>
<body>
<?php
$a = 100;
echo gettype($a); #result : integer
settype($a, 'double'); #type 지정
echo gettype($a); #result : double
?>
</body>
</html>
문자열과 문자열 사이에 .(점)
을 사용
<?php
echo "hello"."world";
?>
$
를 통해 변수를 정의
<?php
$a = 1;
echo $a+1; #result : 2
?>
$$
를 통해 가변변수를 설정
변수의 이름 조차도 변경할 수 있음
<html>
<body>
<?php
$title = 'subject';
$$title = 'PHP totorial'; # $subject = 'PHP tutorial'; 과 같은 의미
echo $title; # result : subject
echo '<br/>';
echo $subject; # result : PHP tutorial
?>
</body>
</html>
#(샾)
을 사용하면 한 줄 주석처리 가능
/* */
을 통해 여러 줄 주석처리 가능
<?php
#한줄 주석
/*
여러 줄 주석
*/
?>
상수
는 변하지 않는 값이다.define
을 통해 상수를 지정할 수 있다.상수
는 한번 저장되면 변경할 수 없다.상수
는 대문자로 정의하는게 관습이다.<html>
<body>
<?php
define('TITLE', 'PHP Tutorial');
echo TITLE;
define('TITLE', 'JAVA Tutorial'); #Error !
?>
</body>
</html>
true(참)
OR false(거짓)
중 하나이다.==
, !=
, >
, <
, >=
, <=
, ===
===
는 좌항과 우항이 정확하게 같다는 의미다.==
와의 차이점은 ==
이 형변환의 결과를 비교 하지만, ===
는 양쪽 항이 데이터 형식까지 정확하게 동일해야 같은 것으로 인정한다는 점이다.<html>
<body>
<?php
var_dump(1==2); # result : bool(false)
var_dump(1==1); # result : bool(true)
var_dump("one"=="two"); # result : bool(false)
var_dump("one"=="one"); # result : bool(true)
var_dump(1!=2); # result : bool(true)
var_dump(1!=1); # result : bool(false)
var_dump("one"!="two"); # result : bool(true)
var_dump("one"!="one"); # result : bool(false)
?>
</body>
</html>
if
, else
, else if
를 사용
<?php
if (false){
echo 1;
} else if (false){
echo 2;
} else if (false){
echo 3;
} else {
echo 4;
}
#result : 4
?>
id 입력란에 egoing
을 입력하게 되면 right
을 출력할 것이고,
id 입력란에 egoing
이 아닌 다른 문자를 입력하게 되면 wrong
을 출력할 것이다.
<!--test.html-->
<html>
<body>
<form method="get" action="test2.php">
<input type="text" name="id" />
<input type="submit" />
</form>
</body>
</html>
<!--test2.php-->
<?php
if($_GET['id'] === 'egoing'){
echo 'right';
} else {
echo 'wrong';
}
?>
id는 egoing
, password는 111111
이여야만 right를 출력하는 코드
<!--test.html-->
<html>
<body>
<form method="post" action="test2.php">
id : <input type="text" name="id" />
password : <input type="text" name="password" />
<input type="submit" />
</form>
</body>
</html>
<!--test2.php-->
<?php
if($_POST['id'] === 'egoing'){
if($_POST['password'] === '111111'){
echo 'right';
} else {
echo 'password wrong';
}
} else {
echo 'id wrong';
}
?>
위의 조건문 응용2
에서 test2.php
를 이와 같이 수정하게 되면 조건문 중첩을 사용하지 않고 같은 값을 출력할 수 있음
<?php
if($_POST['id'] === 'egoing' && $_POST['password'] === '111111'){
echo 'right';
} else {
echo 'wrong';
}
?>
<?php
while(조건){
코드
코드
}
?>
#example
<?php
$i = 0;
while($i < 5){
echo 'coding everybody';
$i += 1;
}
?>
<?php
for(초기화; 반복 지속 여부; 반복 실행){
코드;
}
?>
#example
<?php
for($i = 0; $i < 10; $i++){
echo 'coding everybody'.$i."<br />";
}
?>
[](대괄호)
를 사용해 배열을 만든다.
count()
를 통해 배열의 크기를 알 수 있음.
<?php
$member = ['egoing', 'k8805', 'sorialgi'];
for($i=0; $i<count($member); $i++){
echo $member[$i];
echo '<br />';
}
?>
$$ <- 비권장사항이고 절대 쓰지마세요