Menu
Coddy logo textTech

PHP 치트시트

마지막 업데이트

Hello World 및 태그

PHP 코드는 <?php ... ?> 태그 안에 있으며, 바깥의 모든 것은 일반 출력으로 전송됩니다.

작업문법
PHP 열기 / 닫기<?php ... ?>
텍스트 출력echo "Hello, World!";
서식 지정 출력printf("%d items", $n);
짧은 echo (HTML 안)<?= $name ?>
한 줄 주석// comment 또는 # comment
블록 주석/* comment */
문 종료 기호;
파일 실행 (CLI)php index.php

변수 및 타입

변수는 $로 시작하며 동적으로 타입이 지정됩니다.

작업문법
변수 선언$name = "Ada";
상수const PI = 3.14; 또는 define("PI", 3.14);
스칼라 타입int, float, string, bool
Null$x = null;
타입 확인gettype($x), is_int($x), is_array($x)
타입 캐스팅(int) $str, (string) $num
변수 존재 / 설정 여부isset($x), empty($x)
문자열 보간echo "Hi $name";

문자열

큰따옴표는 변수를 보간하고, 작은따옴표는 리터럴입니다.

작업문법
연결$a . $b
길이strlen($s)
대문자 / 소문자strtoupper($s), strtolower($s)
부분 문자열substr($s, 0, 5)
위치 찾기strpos($s, "x")
치환str_replace("a", "b", $s)
배열로 분할explode(",", $csv)
배열 결합implode(",", $arr)
공백 제거trim($s)
문자열 서식 지정sprintf("%05.2f", $n)

배열 (연관 배열 포함)

하나의 배열 타입이 인덱스 리스트와 키-값 맵을 모두 포함합니다.

작업문법
인덱스 배열$nums = [1, 2, 3];
연관 배열$user = ["name" => "Ada", "age" => 30];
원소 접근$nums[0], $user["name"]
추가$nums[] = 4;
키 설정$user["role"] = "admin";
길이count($nums)
키 확인isset($user["name"]), array_key_exists("name", $user)
원소 제거unset($nums[1]);
배열 병합array_merge($a, $b)
키 => 값 순회foreach ($user as $k => $v) { ... }

제어 흐름

조건문과 반복문은 C 스타일 문법을 따릅니다.

작업문법
if / elseif / elseif ($x > 0) { ... } elseif (...) { ... } else { ... }
삼항 연산자$y = $x > 0 ? "pos" : "neg";
널 병합$name = $_GET["name"] ?? "guest";
switchswitch ($day) { case 1: ...; break; default: ... }
for 반복문for ($i = 0; $i < 10; $i++) { ... }
while 반복문while ($x < 100) { ... }
foreachforeach ($items as $item) { ... }
match 표현식$r = match($x) { 1 => "one", default => "?" };
break / continuebreak;, continue;

함수

함수는 타입, 기본값, 가변 인자 매개변수를 선언할 수 있습니다.

작업문법
기본 함수function add($a, $b) { return $a + $b; }
타입이 지정된 매개변수와 반환function add(int $a, int $b): int { ... }
기본값function greet($name = "guest") { ... }
가변 인자 매개변수function sum(...$nums) { ... }
참조로 전달function inc(&$x) { $x++; }
익명 함수$f = function($x) { return $x * 2; };
화살표 함수$f = fn($x) => $x * 2;
외부 변수 사용function() use ($n) { ... }

슈퍼글로벌

모든 스코프에서 사용할 수 있는 내장 배열로, 대부분 요청 데이터를 위한 것입니다.

슈퍼글로벌담는 내용
$_GETURL의 쿼리 문자열 매개변수
$_POSTPOST로 전송된 폼 데이터
$_REQUEST$_GET, $_POST, $_COOKIE를 결합
$_SESSION사용자별 세션 데이터 (session_start() 이후)
$_COOKIE브라우저가 보낸 쿠키
$_SERVER서버 및 요청 정보 (REQUEST_METHOD 등)
$_FILES업로드된 파일 메타데이터
$_ENV환경 변수

자주 쓰는 배열 함수

PHP는 수백 개의 배열 도우미를 제공하며, 이것들이 핵심 일꾼입니다.

함수기능
array_map($fn, $arr)모든 원소 변환
array_filter($arr, $fn)콜백이 true인 원소만 유지
array_reduce($arr, $fn, $init)단일 값으로 접기(fold)
in_array($v, $arr)값이 있는지 확인
array_keys($arr) / array_values($arr)키 또는 값 가져오기
sort($arr) / rsort($arr)제자리 정렬 (오름 / 내림차순)
usort($arr, $cmp)사용자 정의 비교자로 정렬
array_slice($arr, 1, 3)일부 추출
array_push($arr, $v) / array_pop($arr)끝에서 추가 / 제거

클래스 및 객체 지향(OOP)

PHP는 클래스, 상속, 인터페이스, 가시성 한정자를 지원합니다.

작업문법
클래스 정의class User { ... }
가시성이 있는 프로퍼티public string $name;
생성자function __construct($name) { $this->name = $name; }
생성자 프로모션function __construct(public string $name) {}
인스턴스 생성$u = new User("Ada");
멤버 접근$u->name, $u->save()
정적 멤버User::$count, User::create()
상속class Admin extends User { ... }
인터페이스interface Saveable { public function save(); }
인터페이스 구현class User implements Saveable { ... }

가장 자주 쓰는 PHP 문법을 한 페이지에 담았습니다. 이 PHP 치트시트는 언어 핵심을 위한 빠른 참조 자료입니다 - 변수와 타입, 문자열, 배열(연관 배열 포함), 제어 흐름, 함수, $_GET$_POST 같은 슈퍼글로벌, 그리고 클래스를 다룹니다.

여기 나오는 모든 내용은 최신 버전에서 동작하는 표준 PHP입니다. 필요한 것을 복사하거나, PHP 플레이그라운드에서 모든 코드를 바로 실행해 보세요 - 서버를 설정할 필요가 없습니다.

PHP 치트시트 자주 묻는 질문

이 PHP 치트시트는 무료인가요?
네. 이 PHP 치트시트는 완전히 무료이며 회원 가입이 필요 없습니다. 즐겨찾기에 추가해 두고 문자열 함수, 배열 도우미, 슈퍼글로벌을 찾아봐야 할 때마다 다시 방문하세요.
PHP에서 ==와 ===의 차이는 무엇인가요?
==는 느슨한 비교입니다: 비교 전에 피연산자를 공통 타입으로 변환하므로 0 == "0", 심지어 0 == ""도 버전에 따라 의외로 동작할 수 있습니다. ===는 엄격한 비교입니다: 값이 같고 타입도 같을 때만 true를 반환하므로 0 === "0"은 false입니다. 타입 변환 버그를 피하려면 ===를 선호하세요.
PHP에서 연관 배열이란 무엇인가요?
연관 배열은 ["name" => "Ada", "age" => 30]처럼 숫자 인덱스 대신(또는 함께) 이름 있는 문자열 키를 사용하는 PHP 배열입니다. PHP에는 순서 있는 리스트와 키-값 맵 역할을 모두 하는 단일 배열 타입이 있어, $user["name"]으로 키로 값에 접근하고 foreach ($user as $key => $value)로 순회합니다.
PHP를 온라인에서 연습할 수 있나요?
네. PHP 플레이그라운드를 열어 이 치트시트의 어떤 코드든 브라우저에서 실행해 보세요 - 서버나 로컬 PHP 설치가 필요 없습니다. 체계적으로 배우고 싶다면, Coddy의 무료 인터랙티브 PHP 강좌가 변수와 배열부터 함수와 객체 지향까지 단계별로 안내합니다.
이 치트시트는 초보자에게 적합한가요?
네. 가장 흔한 주제(변수, 문자열, 배열, 제어 흐름)부터 고급 주제(슈퍼글로벌과 객체 지향)까지 순서대로 정리되어 있어, 첫날부터 상단 섹션을 사용하고 점차 나머지로 넓혀갈 수 있습니다.
Coddy programming languages illustration

Coddy로 PHP 배우기

시작하기