PHP/포스팅

[PHP] 배열의 초기화

짜집퍼박사(짜박) 2024. 11. 30. 22:04

PHP에서 array() 함수는 배열을 초기화하고 요소를 추가하는 데 사용됩니다. array()는 PHP 5.3 이하에서 주로 사용되었지만, 최신 버전(PHP 5.4 이상)에서는 대괄호([])를 사용하는 것이 더 일반적입니다. 그러나 두 방법 모두 기능적으로 동일하며 array()는 여전히 완벽히 지원됩니다.

 

기본 문법

array(값1, 값2, ...);

또는

array(키1 => 값1, 키2 => 값2, ...);

- 숫자 인덱스 배열: 키를 지정하지 않으면 0부터 시작하는 정수 키가 자동으로 할당됩니다.

- 연관 배열: 키를 명시적으로 지정하여 값을 설정할 수 있습니다.

 

array()를 이용한 배열 초기화 예제

1. 숫자 인덱스 배열 초기화

<?php
$fruits = array("사과", "바나나", "체리");

echo $fruits[0]; // 출력: 사과
echo $fruits[1]; // 출력: 바나나
?>

설명

키를 명시하지 않았으므로 0, 1, 2와 같은 정수 인덱스가 자동으로 생성됩니다.

 

2. 연관 배열 초기화

<?php
$user = array(
    "name" => "홍길동",
    "age" => 30,
    "email" => "hong@example.com"
);

echo $user["name"]; // 출력: 홍길동
echo $user["email"]; // 출력: hong@example.com
?>

설명

문자열 키를 명시적으로 지정하여 데이터를 저장했습니다.

 

3. 다차원 배열 초기화

<?php
$matrix = array(
    array(1, 2, 3),
    array(4, 5, 6),
    array(7, 8, 9)
);

echo $matrix[1][2]; // 출력: 6 (2번째 행, 3번째 열)
?>

설명

array()를 중첩하여 다차원 배열을 초기화할 수 있습니다.

 

4. 키와 값을 혼합한 배열

<?php
$mixedArray = array(
    0 => "첫 번째",
    "second" => "두 번째",
    2 => "세 번째"
);

echo $mixedArray[0]; // 출력: 첫 번째
echo $mixedArray["second"]; // 출력: 두 번째
?>

설명

숫자 키와 문자열 키를 혼합하여 배열을 초기화할 수 있습니다.

 

5. 빈 배열 초기화

<?php
$emptyArray = array(); // 빈 배열 생성
?>

 

추가 예제

array()로 요소 동적 추가

<?php
$arr = array(); // 빈 배열 초기화

$arr[] = "첫 번째 요소"; // 자동 키 할당
$arr[] = "두 번째 요소";

$arr["customKey"] = "사용자 지정 키";

print_r($arr);
?>

출력

Array
(
    [0] => 첫 번째 요소
    [1] => 두 번째 요소
    [customKey] => 사용자 지정 키
)

 

반복문과 함께 사용

<?php
$numbers = array(1, 2, 3, 4, 5);

foreach ($numbers as $num) {
    echo $num . " "; // 출력: 1 2 3 4 5
}
?>

 

array() 함수와 함수 호출 결합

<?php
function getFruits() {
    return array("사과", "바나나", "체리");
}

$fruits = getFruits();
echo $fruits[1]; // 출력: 바나나
?>

 

요약

- array()는 PHP에서 배열을 초기화하는 전통적인 방법으로, 숫자 인덱스 배열과 연관 배열 모두를 지원합니다.

- PHP 5.4 이상에서는 대괄호([])를 더 간단한 문법으로 사용할 수 있습니다.

- 연관 배열, 다차원 배열, 동적 추가 등 다양한 방식으로 배열을 다룰 수 있습니다.

 

With ChatGPT

'PHP > 포스팅' 카테고리의 다른 글

[PHP] 2차원 배열  (0) 2024.11.30
[PHP] 배열 버블 정렬  (0) 2024.11.30
[PHP] 배열  (0) 2024.11.29
[PHP] yield 제어문  (0) 2024.11.29
[PHP] return 제어문  (0) 2024.11.29