본문 바로가기

비개발자의 개발 일지

현장 팀장에서 수출 ERP까지 — AI와 함께 시스템을 만든 기록

시리즈 보기
php

PHP array_pop — 배열 끝에서 원소 제거 + 반환 완전 정리

by 왕진 2026. 6. 15.
반응형

 

 

Web Development · PHP array_pop

PHP array_pop —
배열 끝에서 원소를 빼서 받기

["사과","귤","감"] → ["사과","귤"], 빠진 "감"은 변수에
시작 오늘 분석할 코드
<?php $data = array("사과", "귤", "감"); $kaki = array_pop($data); // 배열 후미에서 원소 1개 제거 + 반환 print "<PRE>"; print_r($data); print "</PRE>"; print $kaki; // 빠진 원소 출력 ?>
Array ( [0] => 사과 [1] => 귤 ) 감

"감"이 배열에서 빠지고, $kaki에 그 값이 받아진다. 두 가지 일을 동시에 한다 — 원본 배열 변경 + 빠진 값 반환.

용어 용어 정리
array_pop()배열 끝 원소를 1개 제거 + 그 값 반환
pop스택의 "맨 위 꺼내기" 동작
반환값제거된 원소
in-place원본 배열 직접 변경
빈 배열 popnull 반환 + 경고 없음
vs unset($a[2])unset은 키만 지우고 인덱스 안 바꿈
반대array_push — 끝에 추가
앞에서 빼기array_shift

 

반응형

 

1 push와 pop은 한 쌍 (스택)
$stack = []; array_push($stack, "A"); // [A] array_push($stack, "B"); // [A, B] array_push($stack, "C"); // [A, B, C] $top = array_pop($stack); // [A, B], $top = "C" $top = array_pop($stack); // [A], $top = "B" $top = array_pop($stack); // [], $top = "A"

"마지막에 넣은 것이 가장 먼저 나온다" — LIFO(Last In First Out) 스택 자료구조.


2 두 동작이 한 번에
// pop 한 번 = 두 가지 동작 1) 배열에서 마지막 원소 제거 2) 그 원소의 값을 반환 // 분리해서 같은 일을 한다면 $last = $arr[count($arr) - 1]; // 마지막 값 보기 unset($arr[count($arr) - 1]); // 키 제거 (인덱스는 안 정리) // 더 길고 키 정리도 따로 해야 함

3 자주 하는 실수
실수 증상 해결
빈 배열에 pop null 반환, 조용히 진행 먼저 count($arr) > 0 확인
키-값 짝 보존 기대 숫자 인덱스 재정렬됨 연관 배열 키 부분은 그대로
pop 결과를 안 받음 제거만 되고 값은 사라짐 변수에 받기

핵심 한 줄 요약

array_pop()끝 원소 제거 + 그 값 반환
스택 LIFOpush/pop 짝으로 후입선출 자료구조
in-place원본 배열 직접 수정
반환값빠진 원소 (빈 배열이면 null)
반대array_push — 끝에 추가
앞에서 빼기array_shift
실무URL 마지막 부위 추출, 작업 큐 종료 등
반응형

댓글