#1 자료형 - 숫자와 문자
PHP도 다른 언어와 마찬가지로 자료의 형식을 구분한다. 본 장에서 알아볼 자료의 형식은 숫자와 문자이다.
숫자형 자료의 중요한 특징은 바로 계산이 가능하다는 것이다. 문자형 자료와다르게 숫자형 자료는 현실세계에서의 수학과 같이 계산이 가능하고 계산된 값을 가지고 무언가 기능을 구현하고 실현하는 것이 가능하다.
<?php
echo 1+1;
echo 2*2;
echo 4/2;
echo 6-2;
var_dump(6);
# 자료형을 확인하기 위한 함수
?>
숫자형 자료는 상기의 코드블럭과 같이 사칙연산이 가능하다. var_dump();는 인자로 받는 자료의 형식을 출력하는 기을 갖고있는 함수이다.
!! PHP는 문장이 끝날 떄 마다 세미콜론( ; ) 을 붙여준다. 세미콜론 ( ;) 으로서 문장을 구분한다 !!
다음은 문자형 자료이다. 문자형 자료 역시 다른 스크립트형 언어와 같이 "" 혹은 '' 안에 입력하여 구분한다. 다음과 같다.
<?php
echo "Hello world!"
echo 'Hello world!'
echo Hello world
# 상기 코드는 작동하지 않는다
# Hello 와 world라는 상수로 받아들임
?>
""와 ''를 쓰지 않고 문자열을 입력할 경우 키워드가 아니라면 상수로 인식하여 실행하게 된다. 문자열 역시 연산자를 사용할 수 있다 예제는 다음과 같다.
<?php
echo "Hello"."world!";
# 문자열과 문자열을 더해주는 연산자 : .
# 공백을 더해주고자 한다면 가운데 공백을 더해줌
echo "hello" . " " . "world!" # " "를 더해준것
# 이스케이프는 다음과 같다.
echo "그는 \"안녕하세요\" 라고 말했다."
?>
# 변수
변수는 자료를 담는 컨테이너와 같은 역할을 한다. 어떠한 자료형도 상관없이 담을 수 있으며 "변수"는 담겨진 값이 ㅅ바뀌는 것이 가능하다. 대명사와 비슷한 역할을 한다. PHP에서의 변수는 하기와 같은 형식으로 이루어져있다.
!! php에서는 변수명 앞에 반드시 "$"표시를 해주어야 한다 !!
<?php
$a = 1;
echo $a+1; #2
echo "<br>"
echo $a = 2;
echo $a+1; #3
?>
상기와 같이 변수 안에 담긴 값은 변형이 가능하다. 또한 하기와 같이 자료형에 알맞게 연산도 가능하다.
<?php
/*
이렇게 주석 사용이 가능합니다.
*/
# 이렇게도 주석 사용이 가능합니다.
# String 연산자 사용 예제
$first = "coding";
echo $first." everybody"; #coding evreybody
# number 연산자 사용 예제
$num = 100;
# 사칙연산 예제
$num = $num + 10;
print $num.'<br/>';
$num = $num - 10;
print $num.'<br/>';
$num = $num * 10;
print $num.'<br/>';
$num = $num / 10;
print $num.'<br/>';
?>
# 상수
상수(Constant)는 변수와는 다르게 변하지 않는 값을 의미한다. 코틀린에서의 상수와 유사하다. 상수도 변수와 마찬가지로 여러가지 자료형을 포함시킬 수 있다. 그러나 변수와는 다르게 한 번 값을 담으면 그 값을 바꿀 수 없다.
상수를 선언하는 방법은 하기와 같다.
<?php
# 상수의 선언
# define(상수명, 상수에 할당될 값)
define('TITLE', 'PHP Tutorial');
echo TITLE;
# 같은 명의 상수에 값을 재할당
define('TITLE', 'Java Tutorial')
# 결과는 오류가 발생한다.
# 상수는 값을 한 번만 할당 받을 수 있기떄문에 상기와 같은 코드는 오류를 발생시킨다.
?>
상수는 여러 개발자가 같이 협업할 시, 초기 의도와는 다르게 변수의 의미 혹은 값이 바뀔 수 있는 것을 방지하기 위하여 사용하는 등의 방식으로 사용할 수 있다.
따라서 상수는 대개 시스템의 설정, 고정 값 을 설정할 때에 자주 사용한다. 상수는 선언할 시 관습적으로 대문자를 사용하여 선언한다.
변수에 담긴 데이터 형을 확인하고 변경하는 방법은 다음과 같다.
var_dump 와 gettype의 차이 :: var_dump는 값과 그 값의 데이터 형식을 출력, gettype은 그 값의 데이터 형만 출력 car dump는 echo 없이 사용 가능 gettype은 echo와 같이 사용 가능
<?php
$a = 100;
echo gettype($a); #int
settype($a, 'double');
echo '<br />';
echo gettype($a); #double
?>
변수에 담긴 데이터의 타입을 바꾸기 위해서는 settype()함수를 사용한다. 데이터타입을 확인하는 api의 예시는 다음과 같은 것들이 존재한다.
is_array, is_bool, is_double, is_float, is_int ...
if (is_int($a)) {
$a + 2;
}
상기와 같이 활용할 수 있다.
# 가변변수
가변변수는 변수의 이름을 벼수로 변경할 수 있는 기능이다. 예시는 다음과 같다.
<?php
$title = 'subject';
$$title = 'PHP tutorials';
echo $subject; # PHP tutorials
?>
변수 title에 subject라는 문자열을 할당하였을때 호출하려면 $title을 해야한다. 이때, $title은 subject이다. 이를 이용하여 변수를 할당 할 수 있는 기능을 가변변수라고한다. $title에 다시 $를 붙이고 값을 할당하면, $title안에 들어있던 subject 가 변수이름이 되어 값을 할당받을 수 있게 된다. php 만의고유한 문법이다.
# 연산자 - 비교
PHP의 비교연산자에는 다음과 같은 것이 있다. 비교연산자의 결과는 반드시 true혹은 false로 리턴한다.
1. $a == $b
두 값이 같을 때 true, 다르면 ,false를 리턴한다. 현실의 수학에서 =와 같은 의미이다.
2. $a === $b
두 값이 같고 자료형까지 같아야 true, 그렇지 않으면 false를 리턴한다.
3. $a != $b
두 값이 서로 같지 않을 때, true 그렇지 않으면 true를 리턴한다. 프로그래밍 언어에서 ' ! '은 부정을 의미한다.
따라서 !true는 false를 의미하고 !false는 true를 의미한다.
4. $a !== $b
두 값이 서로 같지 않고, 자료형까지 같지 않으면 true 그렇지 않으면 true를 리턴한다. 프로그래밍 언어에서 ' ! '은 부정을 의미한다.
5. $a > $b
변수 a의 값이 변수 b보다 클 경우 true, 그렇지 않으면 false를 리턴한다. 반대의 경우도 마찬가지이다.
6. $a >= $b
변수 a의 값이 변수 b보다 크거나 같을 경우 true, 그렇지 않으면 false를 리턴한다. 반대의 경우도 마찬가지이다.
# 입력과 출력, 폼(From)
결과가 정해져 있기 때문에 실행할 때마다 같은 값만 출력하는 프로그램이 있다고 하면 그것은 문서와 다를 바가 없을 것이다. 따라서 어떠한 기능이 내제되어있고, 그 프로그램을 사용하는 사용자와 상호작용을 할 수 있을 때 비로소 프로그램으로서의 효용이 나타나게 되는 것이다.
이러한 기능을 제대로 수행해 내기 위해서는 사용자로부터 입력을 받고, 내부적으로 기능을 수행한 후 그 결과값을 출력할 수 있는 프로그램을 만들 수 있어야 하는것이다.
본 장에서는 프로그램에 입력을 받을 수 있는 방법, 그리고 그것을 출력해 내는 방법, 그리고 그것을 이용하는 폼(form)이라는 것에 대하여 학습한 내용을 정리하였다.
# 입력
프로그램은 입력값을 가질 수 있다. 그리고 입력값에 따라서 기능이 달라지는데, php에서 데이터를 입력받는 방법은 다음과 같다.
<?php
echo $_GET['id'];
?>
//
localhost:port/dir../file.php?id=exmaple
//
asdf
상기와 같은 결과를 볼 수 있다. php에 입력값을 부여하기 위해서는 url뒤에 ?변수명=값을 붙혀써야 한다. 그 값이 여러개일 경우에는 &로 이어서 작성하면된다. URL?id=1&name=123 과 같다. 예시는 하기와 같다.
<?php
echo $_GET['id'];
echo $_GET['password'];
?>
URL과 값을 구분하는 구분자는 " ? " 이고, 값과 값의 이름을 구분하는 구분자는 " = " 이고, 값과 값을 구분하는 구분자는 "&"인것이다.
# 폼(Form)
php에 입력값을 주기 위해서 주소에 상기와같은 규칙으로 입력하는 사실을 알았지만, 어딘가에 접속하고 입력값을 주기 위해서 모든 내용을 직접 작성하기에는 너무나 비효율적이다. 따라서 이런 것을 쉽게 도와주는 것이 HTML에 내제되어있는 form이라는 것이다. 예제는 다음과 같다
HTML 예제
<!DOCTYPE html>
<html lang="ko">
<head>
<title>test page</title>
</head>
<body>
<form method = "GET" action="form.php">
<p>ID :: <input type="text" name = "id" /></p>
<p>PW :: <input type="text" name = "password"></p>
<p><input type="submit"></p>
</form>
</body>
</html>
PHP 예제
<?php
echo "ID:: ".$_GET['id']."<br/>";
echo "PW:: ".$_GET['password']."<br/>";
?>
'Language > PHP' 카테고리의 다른 글
공부 내용 정리 PHP :: 초급 I (0) | 2021.05.26 |
---|---|
공부 내용 정리 PHP :: 기초 IV (0) | 2021.05.25 |
공부 내용 정리 PHP :: 기초 III (0) | 2021.05.25 |
공부 내용 정리 PHP :: 기초 II (0) | 2021.05.23 |
공부 내용 정리 PHP :: 입문 I (0) | 2021.05.17 |