Boolean
boolean 타입은 참과 거짓 두 가지의 값을 가질 수 있으며 조건문과 반복문 등 주요 제어 구조에서 사용합니다.
true;
false;
(bool) 10; // true
(bool) []; // false
(bool) ''; // false
(bool) null; // false
Integers
integer 타입은 숫자형 자료형으로 PHP에서 숫자를 표기할 때 사용하며 16진수, 10진수, 8진수, 2진수 등도 포함됩니다.
10; // Decimal
0777; // Octal
0xF; // Hexdecimal
0b0101; // Binary
(int) 'Hello world!'; // 0
(int) '50x'; // 50
(int) true; // 1
(int) false; // 0
(int) null; // 0
Double (Float)
double(Float) 타입은 부등 소수점을 나타내며 지수 표현법 혹은 소수점으로 표현합니다.
1.234;
1.2e3;
7E-3;
Strings
string 타입은 '과 "을 사용해 문자열을 표현할 수 있습니다.
'Hello world!'
"Hello world!"
(string) 10; // "10"
(string) true; // "1"
(string) false; // ""
(string) 1.234; // "1.234"
Backtick
backtick(`)은 Shell Command를 실행할 때 사용합니다.
echo `php --help`
Arrays
array 타입은 배열 자료형을 표현할 때 사용합니다.
배열은 여러 값을 가질 수 있으며 그 값이란 정적 타입 언어와는 다르게 숫자, 객체, 함수 등을 가질 수 있습니다.
[]을 사용하거나 array() 언어 구조를 사용해 배열을 정의할 수 있습니다.
$messages = [
'Hello world!',
'Who are you?',
'Bye'
];
$messages = array('Hello world!', 'Who are you?', 'Bye');
Key-Value 매핑
배열은 키와 값을 매핑해 표현할 수 있습니다.
$messages = [
0 => 'Hello world!',
'message' => 'Who are you?',
'Bye'
];
비구조화 할당
비구조화 할당이란 배열이나 객체의 속성 혹은 값을 해체하여 그 값을 변수에 각각 담아 사용하는 표현식입니다.
list() 언어 구조를 사용하여 분해된 값을 변수에게 할당할 수 있습니다.
# ,는 앞에 값을 생략한다는 의미
[, message] = ['Hello world!', 'Who are you?'];
['message' => $message] = [
'message' => 'Hello world!'
];
list(, $message) = ['Hello world!', 'Who are you?'];
list('message' => $message) = [
'message' => 'Hello world'
];
Spread 연산자
배열을 다른 배열과 합치거나 파라미터로 전달할 때 Spead 연산자를 사용하며...로 표현합니다.
- 배열 합치기
$messages = [
'Hello world!'
];
$messages = ['Hello world', 'Who are you?', 'Bye'];
$messages = [
...$messages,
'Who are you?',
'Bye'
];
- 함수의 파라미터
function foo($messages) {
var_dump($messages);
}
foo(...['Hello world!', 'Who ate you?']);
배열을 다루는 방법
배열을 다루는 방법에 대해 알아봅시다.
- 집어넣기
# 배열의 맨 마지막에 요소를 삽입
array_push($messages, 'whoops');
#혹은
$messages[] = 'whoops';
- 접근하기
# 배열의 세번째 방(인덱스)에 접근
# 배열의 인덱스는 제로 베이스
$messages[3];
- 갱신하기
# 배열의 세번째 방(인덱스) 요소를 갱신
# 세번째 방(인덱스)가 비어있을 경우
# 숫자 3을 키로 삼고
# 값에 Do you know?를 추가
$messages[3] = 'Do you know?';
- 삭제하기
# 배열의 세번째 방(인덱스)에 해당하는 요소의 메모리를 릴리즈
# unset()은 함수X, 언어구조
array_pop($messages);
# 혹은
unset($messages[3]);
Iterable
iterables은 반복 가능한 자료형을 의미하며 반복문인 foreach문에서 사용할 수 있습니다.
기본적으로 Array 혹은 Generator나 Iterator 클래스로 표현합니다.
- Array
# range(0, 10)은 0 부터 10까지의 숫자 배열을 생성
foreach(range(0, 10) as $value) {
echo $value;
}
# 혹은
$arr = array("for","while","foreach");
foreach ($arr as $value) {
echo $value;
}
- Gennerator
function foo(iterable $iterable): iterable {
foreach($iterable as $value) {
yield $value;
}
}
foreach (foo(range(0, 10)) as $value) {
echo $value;
}
- Iterator
class MyIterator implements Iterator {
private $position = 0;
private $values;
public function __construct(iterable $values) {
$this->values = $values;
}
public function current() {
return $this->values[$this->position];
}
public function key() {
return $this -> position;
}
public function next() {
++$this->position;
}
public function rewind() {
$this->position = 0;
}
public funcion valid() {
return isser($this->values[$this->position]);
}
}
$myclass = new MyIterator(range(0, 10));
foreach($myclass as $value) {
echo $value;
}
'🌈 Programming > PHP' 카테고리의 다른 글
변수 (Variables) (0) | 2022.01.23 |
---|