반응형
PHP 배열 함수 총정리
기본 배열 생성 및 조작
배열 생성
// 1. 기본 배열 생성 - 두 가지 방법 모두 동일한 결과
$fruits = array("apple", "banana", "orange"); // 전통적인 방법
$fruits = ["apple", "banana", "orange"]; // PHP 5.4+ 단축 구문
print_r($fruits);
// 결과: Array ( [0] => apple [1] => banana [2] => orange )
// 2. 키와 값을 결합하여 연관 배열 생성
$keys = ["a", "b", "c"];
$values = [1, 2, 3];
$result = array_combine($keys, $values); // 키 배열과 값 배열을 결합
print_r($result);
// 결과: Array ( [a] => 1 [b] => 2 [c] => 3 )
요소 추가/제거
// 1. 스택 구조 구현 (LIFO: Last In First Out)
$stack = ["orange", "banana"];
array_push($stack, "apple", "mango"); // 배열 끝에 여러 요소 추가
print_r($stack);
// 결과: Array ( [0] => orange [1] => banana [2] => apple [3] => mango )
$last = array_pop($stack); // 마지막 요소 제거 후 반환
// $last에는 "mango" 저장됨
// 2. 큐 구조 구현 (FIFO: First In First Out)
$queue = ["orange", "banana"];
array_unshift($queue, "apple"); // 배열 앞에 요소 추가
print_r($queue);
// 결과: Array ( [0] => apple [1] => orange [2] => banana )
$first = array_shift($queue); // 첫 번째 요소 제거 후 반환
// $first에는 "apple" 저장됨
배열 검색 및 필터링
// 1. 배열 검색 함수들
$array = ["name" => "John", "age" => 30];
$key = array_search("John", $array); // 값으로 키 찾기
// 결과: "name"
$exists = array_key_exists("age", $array); // 키 존재 여부 확인
// 결과: true
$exists = in_array("John", $array); // 값 존재 여부 확인
// 결과: true
// 2. 조건에 맞는 요소만 필터링
$numbers = [1, 2, 3, 4, 5, 6];
$even = array_filter($numbers, function($n) {
return $n % 2 == 0; // 짝수만 선택
});
print_r($even);
// 결과: Array ( [1] => 2 [3] => 4 [5] => 6 )
// 3. 중복 제거
$duplicate = [1, 2, 2, 3, 3, 4];
$unique = array_unique($duplicate); // 중복 값 제거
print_r($unique);
// 결과: Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 )
배열 변환 및 처리
// 1. 배열 정렬
$fruits = ["banana", "apple", "orange"];
sort($fruits); // 알파벳 순으로 정렬
print_r($fruits);
// 결과: Array ( [0] => apple [1] => banana [2] => orange )
// 2. 배열의 모든 요소를 변환
$numbers = [1, 2, 3, 4];
$doubled = array_map(function($n) {
return $n * 2; // 각 요소를 2배로
}, $numbers);
print_r($doubled);
// 결과: Array ( [0] => 2 [1] => 4 [2] => 6 [3] => 8 )
// 3. 배열의 모든 요소를 하나의 값으로 축소
$sum = array_reduce($numbers, function($carry, $item) {
return $carry + $item; // 모든 요소의 합 계산
}, 0); // 0은 초기값
// 결과: 10
고급 배열 조작
// 1. 배열을 작은 그룹으로 분할
$input = [1, 2, 3, 4, 5];
$chunks = array_chunk($input, 2); // 2개씩 그룹화
print_r($chunks);
// 결과: Array (
// [0] => Array([0]=>1 [1]=>2)
// [1] => Array([0]=>3 [1]=>4)
// [2] => Array([0]=>5)
// )
// 2. 배열의 키와 값 추출
$array = ["name" => "John", "age" => 30];
$keys = array_keys($array); // 모든 키를 배열로
print_r($keys);
// 결과: Array ( [0] => name [1] => age )
$values = array_values($array); // 모든 값을 배열로
print_r($values);
// 결과: Array ( [0] => John [1] => 30 )
// 3. 여러 배열 병합
$array1 = [1, 2];
$array2 = [3, 4];
$merged = array_merge($array1, $array2); // 배열들을 순서대로 병합
print_r($merged);
// 결과: Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 )
배열 분석
// 1. 기본 배열 분석
$array = [1, 2, 3, 4, 5];
$count = count($array); // 배열 요소 개수
// 결과: 5
$sum = array_sum($array); // 모든 요소의 합
// 결과: 15
$product = array_product($array); // 모든 요소의 곱
// 결과: 120
// 2. 배열 비교
$array1 = ["a", "b", "c"];
$array2 = ["b", "c", "d"];
$diff = array_diff($array1, $array2); // $array1에만 있는 요소 찾기
print_r($diff);
// 결과: Array ( [0] => a )
반응형
'PHP' 카테고리의 다른 글
특정날짜 입력 시 요일 출력 (0) | 2024.11.25 |
---|---|
PHP 정규표현식 (0) | 2024.11.22 |
유튜브 주소에서 유튜브 영상 아이디 가져오기 (1) | 2024.11.15 |
두 날짜 사이의 날짜들을 배열로 반환 하는 함수 (0) | 2024.11.14 |
PHP 날짜 몇분전, 몇시간전, 몇일전, 몇달전, 몇년전 지난 시간 계산 (0) | 2024.11.10 |