검색 결과가 없습니다
입력하신 검색어와 일치하는 시각화 예제를 찾을 수 없습니다. 다른 검색어를 입력해 보세요.
PHP 기초 문법과 입출력
주석문(설명문), echo 출력, HTML 태그 믹스, = ?> 문법, $_GET 파라미터 수신 및 계산
11개 예제PHP 주석문(설명문) 시각화
C++ 스타일(//), 여러 줄 주석(/* */), 쉘 스타일(#) 주석의 파싱 무시 원리
PHP 주석문 사용 위치 오류 및 해결 시각화
HTML 영역에 PHP 주석(//)을 사용했을 때 텍스트로 노출되는 오류와 올바른 해결법 2가지
PHP 주석문 중첩 오류(Parse Error) 시각화
여러 줄 주석(/* */) 내부에서 또 다시 /* */를 중첩할 때 발생하는 문법 오류
PHP echo 출력문 기초 시각화
문자열, 정수, 변수, 산술 연산식, 함수 반환값 출력과 줄바꿈 부재 현상 관찰
PHP echo
줄바꿈 출력 시각화
echo "
";를 항목 사이에 삽입하여 브라우저 화면에서 줄바꿈을 구현하는 방법
HTML과 PHP 블록 인라인 분리 시각화
필요한 위치마다 개별 블록을 삽입하여 HTML과 혼합 구성하는 방식
PHP 단축 출력 태그(= ?>) 시각화
을 간결하게 축약하는 = 표현식 ?> 단축 문법
단축 출력 태그와 HTML 태그의 직접 결합 시각화
= "
" ?> 대신 PHP 태그 뒤에 HTML
을 직접 배치하는 최적화
PHP GET 파라미터($_GET) 입력 시각화
URL 쿼리스트링 ?num=값을 통해 클라이언트가 전달한 데이터를 PHP에서 수신하여 출력
PHP 복수 GET 파라미터($_GET['a'], $_GET['b']) 시각화
?a=값1&b=값2 앰퍼샌드(&)로 연결된 여러 쿼리 파라미터 분리 및 개별 추출
PHP GET 입력값 연산 (총점 및 평균) 시각화
국어(kor), 수학(mat), 영어(eng) 점수를 쿼리스트링으로 받아 총점(합산)과 평균 계산 후 출력
데이터 타입과 배열
문자열, 정수, 실수, 불리언, 변수 치환 및 이스케이프, gettype(), 1·2차원 인덱스/연관 배열, $_SERVER
16개 예제문자열 상수(작은따옴표 vs 큰따옴표) 시각화
작은따옴표(' ')의 문자 그대로 해석 vs 큰따옴표(" ")의 변수/이스케이프 문자 치환
정수형 상수 (10진수, 8진수, 16진수) 시각화
접두사에 따른 10진수(10), 8진수(012), 16진수(0xA) 진법 변환과 내부 10진수 출력 원리
실수형 상수 (소수점 및 지수 표기법) 시각화
부동소수점 10.5 및 과학적 지수 표기 10.5e+2, 10.5e-2 해석
사용자 정의 상수 (define) 시각화
define("상수명", 값)으로 불변의 상수를 정의하고 $ 없이 사용하는 원리
변수 선언 및 값의 복사 대입 시각화
$var2 = $var1; 값에 의한 전달(Copy by Value)과 문자열 내 변수 출력
변수명 접미사(한글 조사) 결합 오류 시각화
"$var1입니다"처럼 변수명 바로 뒤에 한글 조사를 붙였을 때 발생하는 미정의 변수 오류
중괄호 문법({$var})을 통한 변수명 경계 설정 시각화
"{$var1}입니다"로 변수명의 시작과 끝을 중괄호로 명시하여 안전하게 치환하는 해결책
변수명 텍스트 출력 의도 오류 시각화
"변수 $var1에..."에서 변수명 자체($var1)를 텍스트로 찍으려다 값(10)으로 치환되어 버리는 현상
달러 기호 이스케이프(\$var) 시각화
\$var1으로 역슬래시 이스케이프를 적용하여 $ 기호 자체를 문자로 출력하는 해결책
변수의 동적 자료형(gettype) 변환 시각화
정수(integer), 실수(double), 문자열(string) 및 값 재할당에 따른 타입 자동 변환
스칼라 배열 및 자동 인덱싱($arr[]) 시각화
명시적 인덱스($arr[0])와 자동 인덱스 생성($arr[]) 방식의 비교
연관 배열 (Associative Array) 시각화
숫자 인덱스 대신 문자열 키(Key)를 사용하여 값(Value)을 저장하는 연관 배열
array() 생성 함수를 이용한 배열 초기화 시각화
array(10, 20, 30) 및 array("Lee" => 100, ...) 함수를 이용한 일괄 초기화
2차원 스칼라 배열 초기화 시각화
행과 열 2개 첨자($arr[row][col])를 갖는 2차원 행렬 구조
2차원 연관 배열 (Nested Associative Array) 시각화
$arr['han']['weight'] 사람 이름과 신체 스펙(키, 체중)을 매핑하는 2차원 연관 구조
슈퍼글로벌 특수배열 ($_SERVER) 시각화
웹 서버 환경, 클라이언트 접속 정보, 요청 URI 등을 보관하는 슈퍼글로벌 $_SERVER
연산자와 표현식
산술, 증감(전위/후위), 문자열 연결, 타입 캐스팅, 비교(== vs ===), 논리 연산, 삼항 연산, 우선순위 함정
12개 예제기본 산술 연산자 (+, -, *, /, %) 시각화
두 정수(10, 3)의 덧셈, 뺄셈, 곱셈, 나눗셈(실수 반환), 나머지(모듈로) 연산
증감 연산자 (후위 증가 vs 전위 증가) 시각화
$a++(후위 증가), $b--(후위 감소) 및 ++$a(전위 증가), --$b(전위 감소)
문자열 연결 연산자(.) 시각화
마침표(.) 연산자를 사용한 문자열 간 결합 및 숫자-문자열 자동 결합
연산자에 따른 자동 타입 변환(Type Juggling) 시각화
결합 연산자(.)는 문자열로, 산술 연산자(+)는 숫자로 타입을 강제 변환
복합 대입 연산자 (+=, -=, %= 등) 시각화
$a += $b, $a -= $b, $a %= $b 및 우측 복합식의 결합 순서
동등 비교(==) vs 일치 비교(===) 시각화
정수 100과 실수 100.0의 값 비교(==: true)와 자료형 일치 비교(===: false)
부동소수점 연산 비교 (!=, ) 시각화
99.9 + 0.1 연산 결과와 100의 비교, != 및 <>(같지 않다) 연산자
엄격한 불일치(!==) 및 정수 덧셈 비교 시각화
실수 덧셈(99.9+0.1) vs 정수 덧셈(99+1)과 === / !==의 타입 검증
논리 연산자 (&&, and, ||, or, xor, !) 시각화
논리곱(AND), 논리합(OR), 배타적 논리합(XOR), 부정(NOT)의 진리표 동작
삼항 조건 연산자 (? :) 시각화
(조건식) ? 참일_때_값 : 거짓일_때_값의 평가 및 분기 실행
연산자 우선순위 (사칙연산과 괄호) 시각화
/가 +보다 먼저 실행되는 함정 해결 (a+b+c)/3 및 문자열 결합 우선순위
논리 연산자 우선순위 함정(|| vs or) 시각화
=(대입)보다 높은 ||/&& vs =보다 낮은 or/and의 파싱 차이
조건 제어문 (if & switch)
단일 if, if-else, 중첩 조건문, else if 사다리, switch-case 다중 분기 및 조건 평가
10개 예제PHP if 조건문 실행 과정 시각화
난수 생성 → 1차 출력 → 조건 판별($a < 0) → 부호 반전(-$a) → 최종 출력 전 과정 분석
PHP if-else 조건문 실행 과정 시각화
난수 생성 → 1차 출력 → 양방향 조건 판별($a ≥ 0) → if($a=$a) 또는 else($a=-$a) 분기 실행 → 최종 출력
PHP 중첩 if-else 조건문 실행 과정 시각화
난수 점수 생성(0~100점) → 1차 점수 출력 → 다단계 중첩 조건 검사($score ≥ 90 / 80 / 70 / 60 / 나머지) → 해당 평점 출력 및 하위 블록 건너뜀(Skip)
PHP else if 조건문 실행 과정 시각화
중첩 if-else(06-03)의 깊은 들여쓰기를 개선한 else if 사다리 구조 시각화
PHP 조건 순서 논리 오류(Logical Bug) 시각화
조건식 순서가 잘못 작성되어 60점 이상의 모든 점수가 "양"으로 판정되는 버그 분석
PHP 복합 논리 연산자(&&)와 elseif 실행 시각화
상하한 범위 지정(70 > $score && $score >= 60)을 통해 조건 순서와 무관하게 정확한 평점을 판별
PHP switch문 Fall-Through(낙하 현상) 시각화
break;가 생략되었을 때 일치한 case 이후의 모든 하위 case들이 연달아 실행되는 과정
PHP switch문과 break; 실행 과정 시각화
각 case 뒤에 break;를 추가하여 원하는 해당 상품 1개만 정확히 출력하고 즉시 탈출하는 정상 패턴
PHP switch 다중 case 결합(Grouping) 시각화
여러 case 라벨을 나란히 배치하여 공통 실행문으로 모아주는(Fall-Through 의도적 활용) 패턴 분석
PHP switch문과 수식(Expression: $num % 2) 실행 시각화
변수 자체가 아닌 나머지 연산식(Modulo)의 결과값(0 또는 1)을 switch 조건식으로 평가
반복문 (for, while, foreach)
for, while, do-while 루프, 중첩 구구단 표, break, continue 무한루프 버그 및 해결, foreach 배열 순회
11개 예제PHP for 반복문 4단계 사이클 실행 시각화
① 초기화($i=0) ➔ ② 조건식($i<=10) ➔ ③ 본문 실행(echo) ➔ ④ 증감식($i++)의 순환 과정 추적
PHP for문 대입 연산자 누락 무한 루프(Infinite Loop) 시각화
증감식에 $i += 2 대신 $i + 2를 써서 변수 값이 갱신되지 않고 0으로 고정되는 치명적 버그
PHP for문 1~100 짝수의 합 누적 계산 시각화
복합 대입 연산자 $i += 2를 사용하여 2씩 증가시키며 $sum에 누적합산
PHP while 반복문 1~100 홀수의 합 계산 시각화
외부 초기화($i=1) ➔ 조건 판별(while ($i <= 100)) ➔ 내부 누적 및 증감($i+=2)
PHP do-while 반복문 1~100 자연수의 합 계산 시각화
본문을 먼저 1회 무조건 실행(do { ... }) ➔ 마지막에 조건 검사(while ($i <= 100))하는 사후 검사 루프
PHP break문 무한 루프 비상 탈출 시각화
while (true) 무한 루프 상태에서 if ($i == 10) break; 조건을 만나 즉시 탈출
PHP continue문 건너뛰기 실행 시각화
if ($i % 2 == 0) continue;: 짝수일 때는 하위 출력을 건너뛰고 곧바로 $i++로 점프
PHP while문 continue 증감식 누락 무한 루프 시각화
continue가 증감식($i++)보다 앞에 있어 $i가 영원히 1에 갇혀 무한 반복되는 함정
PHP while문 continue 정상 해결 시각화
continue 호출 직전에 미리 $i++를 수행하여 무한 루프 없이 홀수를 안전하게 건너뜁니다.
PHP 중첩 for문 (구구단 표 생성) 시각화
외부 루프($i)는 행(줄바꿈), 내부 루프($j)는 열(각 단)을 순회하며 HTML 테이블을 구성합니다.
PHP 배열 순회 (for vs foreach) 시각화
인덱스(스칼라) 배열의 for 문과 키-값(연관) 배열의 foreach 문 차이점 비교
함수와 스코프 (Functions)
함수 정의와 호출, return 반환값, 재귀 함수(Call Stack), 지역/전역 스코프, global 키워드, 값 호출 vs 참조 호출(&)
13개 예제함수 정의와 호출 (매개변수 전달 및 내부 echo) 시각화
add($a, $b) 함수의 호출 흐름, 매개변수 바인딩 및 함수 내부 직접 출력
함수 반환값(return)과 수식 내 함수 호출 시각화
return 문을 통해 계산 결과를 호출자에게 반환하고, 수식(add() + 1000)에서 활용
반복문을 포함한 함수 print_star() 시각화
for 루프를 통해 n개의 별(*) 문자열을 조립한 후 함수 내부에서 직접 출력
별 문자열 반환 함수 stars() & 인라인 출력() 시각화
함수가 직접 출력하지 않고 return $star로 전달하여, 템플릿()에서 호출 및 렌더링
자연수의 합 sum() 함수와 $_GET 연동 시각화
URL 파라미터($_GET['n'])로 전달된 n까지의 누적합(1+2+...+n) 계산
반환값 없는 return 문을 이용한 함수 조기 탈출(Early Exit) 시각화
switch-case 문 내부에서 return; 을 실행하여 함수 전체를 즉시 종료
재귀 함수(Recursive Function)를 이용한 합계 sum() 시각화
기저 조건($num == 1)과 재귀 단계($num + sum($num - 1))의 콜 스택 변화
재귀적 문자열 연결 stars() 함수 시각화
'*' . stars($n - 1) 재귀 호출을 통해 n개의 별을 조립하여 반환
변수 유효 범위(Variable Scope): 전역 변수 vs 지역 변수 시각화
함수 내부의 $a = 100 은 전역 변수 $a = 500 에 영향을 주지 않음
global 키워드를 통한 전역 변수 접근 및 수정 시각화
global $a 선언으로 함수 내부에서 전역 $a를 직접 참조하여 500 -> 100으로 영구 변경
값에 의한 호출 (Call by Value) swap() 시각화
인수의 복사본이 매개변수에 전달되므로, 함수 내부의 교환이 외부 변수($num1, $num2)에 영향 없음
참조에 의한 호출 (Call by Reference) swap() 시각화
매개변수 앞의 & 기호(&$a, &$b)로 원본 변수의 메모리 주소를 직접 공유하여 swap 성공
참조 매개변수(&$num)를 통한 결과 직접 갱신 시각화
return 문 없이, 참조로 전달받은 변수 자체($num = $sum)를 직접 수정하여 결과 반환
객체 지향 프로그래밍 (OOP)
클래스/인스턴스, 상속(extends), 생성자/소멸자 생명주기, 접근 제어자(public/protected/private), static 멤버, final 키워드
11개 예제클래스 정의와 인스턴스(객체) 생성 ($this->) 시각화
class SimpleClass 정의, 프로퍼티, 메소드, new 키워드 및 객체 접근 연산자(->)
클래스 상속(extends)과 메소드 오버라이딩 시각화
부모 클래스 Foo와 자식 클래스 Bar extends Foo 간의 상속 및 printItem() 재정의
생성자(__construct) 상속과 parent::__construct() 시각화
자식 클래스 생성자에서 부모 생성자를 명시적으로 호출하는 원리
생성자(__construct)와 소멸자(__destruct) 생명주기 시각화
객체 생성 시 생성자 실행, 스크립트 종료 시(메모리 해제 시) 소멸자 자동 호출
프로퍼티 접근 제어자 (public, protected, private) 시각화
외부 접근 가능 여부 및 내부 메소드($this)를 통한 은닉 프로퍼티 접근
상속 관계에서의 protected vs private 접근성 시각화
자식 클래스는 부모의 protected는 접근 및 재정의 가능하나 private는 접근 불가
메소드 접근 제어자 (myPublic, myProtected, myPrivate) 시각화
외부에서는 public 메소드만 호출 가능, protected/private는 내부 foo()를 통해서만 간접 호출
자식 클래스에서의 부모 메소드 접근 권한 시각화
자식 클래스는 부모의 protected 메소드는 호출 가능하지만, private 메소드는 호출 불가
정적 멤버(static ::) vs 인스턴스 멤버(->) 시각화
클래스 레벨의 Foo::$static 및 staticMethod()와 인스턴스 레벨 멤버 비교
final 메소드 오버라이딩 금지 시각화
부모 클래스에서 final로 선언된 메소드는 자식 클래스에서 재정의(Overriding) 불가
final 클래스 상속(extends) 금지 시각화
final로 선언된 클래스는 어떠한 하위 자식 클래스로도 상속될 수 없음
쿠키와 세션 (State Management)
setcookie() 만료 시간 지정, $_COOKIE 읽기, 과거 시간 쿠키 삭제, session_start(), $_SESSION 관리, unset() 및 session_destroy()
8개 예제setcookie() 함수를 통한 쿠키 설정과 만료시간 시각화
브라우저 세션 쿠키(0), 1분 유지 쿠키(time()+60), 특정 과거/미래 타임스탬프 쿠키의 생성 원리
클라이언트가 전송한 $_COOKIE 슈퍼글로벌 배열 확인 시각화
브라우저 요청 헤더(Cookie:)로 넘어온 쿠키값들을 PHP에서 읽어 화면에 출력
과거 만료 시간(time() - 3600)을 이용한 쿠키 삭제 시각화
값을 null로 비우고 유효기간을 과거로 설정하여 브라우저 저장소에서 즉시 제거 유도
session_start()와 $_SESSION 변수 등록 시각화
고유 세션 ID 생성, 서버 세션 파일 할당 및 $_SESSION 슈퍼글로벌에 데이터 저장
페이지 이동 후 $_SESSION 데이터 유지 확인 시각화
동일한 session_id()를 통해 이전 페이지(exam10-04)에서 저장된 세션 변수들을 복원
unset($_SESSION['session1'])을 이용한 특정 세션 변수 삭제 시각화
전체 세션은 유지하면서 session1 변수만 선택적으로 제거하는 원리
session_unset()을 통한 모든 세션 변수 일괄 초기화 시각화
세션 ID와 저장소 파일은 유지한 채, $_SESSION 내부의 모든 변수를 일괄 비우기
session_destroy()를 통한 서버 세션 파일 완전 파기 시각화
서버 저장소에 기록된 세션 데이터를 영구 파기하여 로그아웃 처리