PHP/기초

PHP 배열(array) 기초 정리

99C0RN 2022. 6. 18. 21:57

개요

PHP 배열(array) 기초 정리

 

내용


PHP 배열(array)

배열이란 하나의 변수에 여러 값을 저장할 수 있는 특수한 변수를 말합니다.
예를 들어 다음의 변수가 있다고 가정해 봅니다.

<?php
$var1 = "one";
$var2 = "two";
$var3 = "tree";
?>

예시와 같이 몇 개의 변수라면 문제되지 않겠지만, 비슷한 이름을 가진 변수가 수 백 개라고 가정하면 이야기는 달라집니다.
비슷한 이름을 가졌기 때문에 관리가 어려울 뿐 아니라 상당한 코드량을 차지하게 됩니다. 때문에 하나의 변수에 여러 값을 저장할 수 있는 배열을 사용합니다.
배열은 변수명 다음에 오는 "["와 "]" 사이의 숫자나 문자열이 오거나 array(...)로 정의한 값을 배열이라 부릅니다.

<?php
$varArr = array("one", "two", "tree");
$varArr2 = ["one", "two", "tree"];	// php5.4 이상 [] 대괄호를 이용한 배열 선언
?>

 

PHP 배열 종류

- 숫자 인덱스 배열(Indexed arrays)
- 연관 배열(Associative arrays)
- 다차원 배열(Multidimensional arrays)


1. 숫자 인덱스 배열 - Indexed Arrays

- 대부분의 프로그래밍 언어에서 지원하는 방식

// 방식 1
$names = array('kim', 'lee', 'park');
 
// 방식 2
$numbers1 = array(1, 2, 3, 4, 5);
$numbers2 = range(1, 10); // 1~10
$words = range('a', 'z'); // a~z
 
// 방식 3
$products[0] = 'Tires'; // $products가 미리 정의되어 있지 않아도 된다.
$products[1] = 'Oil';
$products[2] = 'Spark Plugs';

2. 연관 배열 - Associative Arrays

- 현대 프로그래밍 언어들은 연관 배열을 지원하는 경우도 흔히 볼 수 있다.
- 연관 배열은 인덱스를 문자열로 사용하여 그 값에 의미를 붙여 사용하는 방식

// 방식 1
$prices = array(
    'Tires'	=> 100,
    'Oil'	=> 10,
    'Spark'	=> 4
);
 
// 방식 2
$prices['Tires'] = 100;
$prices['Oil'] = 10;
$prices['Spark Plugs'] = 4;

3. 다차원 배열 -Multidimensional Arrays

- 하나 이상의 배열을 포함하는 배열 

$cars = array(
	array("Volvo",22,18),
	array("BMW",15,13),
	array("Saab",5,2),
	array("Land Rover",17,15)
 );

PHP 배열관련 함수

- 배열관련 함수 정리(https://www.php.net/manual/en/book.array.php)

더보기

array_change_key_case -- 모두 대문자나 소문자화된 문자열 키를 갖는 배열로 반환한다
array_chunk -- 배열을 여러 덩어리로 분산시킨다
array_combine -- 키를 위한 배열과 값을 위한 배열을 각각 사용하여 배열을 생성한다
array_count_values -- 배열 값의 수를 센다
array_diff_assoc -- 인덱스 검사와 함께 배열간의 차이를 계산한다
array_diff_uassoc -- Computes the difference of arrays with additional index check which is performed by a user supplied callback function.
array_diff -- 배열간의 차이를 계산한다
array_fill -- 배열을 특정값으로 채운다
array_filter -- 콜백함수를 사용하여 배열의 원소를 필터한다
array_flip -- 배열안의 모든 키를 각 키의 연관값으로 바꾼다.
array_intersect_assoc -- 인덱스 검사과 함께 배열의 중복을 계산한다
array_intersect -- 배열의 중복을 계산한다
array_key_exists -- 주어진 키와 인덱스가 배열에 존재하는지 확인한다
array_keys -- 배열의 모든 키를 반환한다
array_map -- Applies the callback to the elements of the given arrays
array_merge_recursive -- 두개 이상의 배열을 재귀적으로 병합한다
array_merge -- 두개 이상의 배열을 병합한다
array_multisort -- 여러개의 배열 또는 다차원 배열을 정렬한다
array_pad -- 설정된 길이만큼 특정 값으로 배열을 채운다
array_pop -- 배열 끝의 요소를 뽑아낸다
array_push -- 배열의 끝에 하나 이상의 원소를 넣는다.
array_rand -- 배열안에서 하나 이상의 임의 원소를 뽑아낸다
array_reduce -- 콜백 함수를 사용하여 배열을 반복적으로 단일 값으로 축소시킨다
array_reverse -- 배열 원소를 역순으로 반환한다
array_search -- 배열에서 주어진 값을 검색하고 성공하면 해당 키를 반환한다
array_shift -- 배열의 맨 앞에 있는 원소를 옆으로 이동시킨다
array_slice -- 배열의 일부를 추출한다
array_splice (배열명, 제거할배열시작번호번호,제거할배열갯수); 시작번호는0번부터시작. //배열의 일부를 삭제하고, 그 위치에 다른 내용을 대체한다
array_sum -- 배열내의 값들의 합을 계산한다
array_udiff_assoc -- Computes the difference of arrays with additional index check. The data is compared by using a callback function.
array_udiff_uassoc -- Computes the difference of arrays with additional index check. The data is compared by using a callback function. The index check is done by a callback function also
array_udiff -- Computes the difference of arrays by using a callback function for data comparison.
array_unique -- 배열에서 중복된 값을 제거한다
array_unshift -- 배열의 맨 앞에 하나 이상의 원소를 첨가한다
array_values -- 배열의 모든 값들을 반환한다
array_walk -- 배열의 개개의 원소에 대해서 특정 함수를 적용하여 수행한다
array -- 배열을 생성한다
arsort -- 배열을 내림차순 정렬하고 인덱스의 상관관계를 유지한다.
asort -- 배열을 정렬하고 인덱스 상관 관계를 유지한다
compact -- 여러 변수들과 값을 갖는 배열을 생성한다
count -- 변수의 원소 갯수를 구한다
current -- 배열의 현재 원소를 반환한다
each -- 배열에서 현재의 키와 값 쌍을 반환하고 배열 커서를 전진시킨다
end -- 내부 배열 포인터를 마지막 원소를 가리키게 한다
extract -- 배열의 현재 심볼 테이블로 변수들을 입력한다
in_array -- 배열에서 값이 존재하는지 점검한다
key -- 연관배열에서 키를 꺼낸다
krsort -- 역순으로 키에 의해 배열을 정렬한다
ksort -- 키에 의해 배열을 정렬한다
list -- 배열처럼 변수들을 지정한다
natcasesort -- 대소문자를 구별하지 않고 'natural order' 알고리즘을 사용하여 배열을 정렬한다
natsort -- 'natural order' 알고리즘을 사용하여 배열을 정렬한다
next -- 배열의 내부 배열 포인터를 전진시킨다
pos -- 배열에서 현재 원소를 꺼내온다
prev -- 내부 배열 포인터를 앞으로 돌린다
range -- 특정 범위의 원소를 갖는 배열을 생성한다
reset -- 배열의 내부 포인터가 배열의 첫번째 원소를 가리키게 한다
rsort -- 역순으로 배열을 정렬한다
shuffle -- 배열을 뒤섞는다
sizeof -- count()의 별칭
sort -- 배열을 정렬한다
uasort -- 사용자-정의 비교함수로 배열을 정렬하고 인덱스 연관성을 유지한다
uksort -- 사용자-정의된 비교함수를 사용하여 키에 의해 배열을 정렬한다
usort -- 사용자-정의된 비교함수를 사용하여 값들에 의해 배열을 정렬한다