coyangi
코딩하는 고양이
coyangi
전체 방문자
오늘
어제
  • 분류 전체보기 (23)
    • 🚀 Daily Life (1)
      • 덕질 (1)
      • 회고 (0)
    • 🍎 MAC OS (1)
    • 🔫 Algorithm (1)
      • Goormlevel (0)
    • 🌈 Programming (18)
      • Dart (7)
      • ETC (1)
      • Flutter (4)
      • Git (0)
      • Javascript (1)
      • Laravel (3)
      • PHP (2)
    • 🌎 Server (1)
    • 🧠 Database (0)
      • MySQL (0)
    • 💻 Computer Science (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 라라벨
  • 덕질
  • Class
  • 데이터 구조
  • XAMPP
  • 플루터
  • constructor
  • CENTER
  • argument
  • 앱
  • override
  • 서버구축
  • 인자
  • Containe
  • 웹서버
  • flutter
  • crud
  • 알고리즘
  • HOBBY FAIR
  • Laravel
  • parameter
  • ajax
  • Sizedbox
  • 맥
  • config
  • json
  • php
  • Instance
  • dart
  • Server

최근 글

티스토리

개인정보

  • 티스토리 홈
  • 스토리
  • 포럼
  • 로그인
hELLO · Designed By 정상우.
coyangi

코딩하는 고양이

자료형
🌈 Programming/PHP

자료형

2021. 12. 20. 04:46

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
    '🌈 Programming/PHP' 카테고리의 다른 글
    • 변수 (Variables)
    coyangi
    coyangi
    경기도 모 창고에서 은둔하다 양지 바른 땅으로 올라온 고양이

    티스토리툴바