Computer >> 컴퓨터 >  >> 프로그래밍 >> PHP

PHP 7 상수 배열 완벽 정리: const 키워드와 define() 함수 활용법

PHP에서 배열을 상수(constant)로 선언하는 방식은 버전에 따라 차이가 있습니다. 이 글에서는 PHP 5.6과 PHP 7에서 상수 배열을 선언하는 방법의 차이점과 실제 사용 예제를 살펴보겠습니다.

PHP 5.6에서의 상수 배열 선언

PHP 5.6에서는 const 키워드를 사용해서만 상수 배열을 초기화할 수 있었습니다. 예를 들어 다음과 같이 작성합니다.

const student_rollnos = [11,12,13,14,15];

위 코드는 학생 번호 목록을 담은 상수 배열 student_rollnos를 선언하는 예시입니다. 단, const 키워드는 스크립트 최상위 레벨이나 클래스 내부에서만 사용할 수 있다는 제약이 있습니다.

PHP 7에서의 상수 배열 선언: define() 함수

PHP 7부터는 define() 함수를 통해서도 상수 배열을 초기화할 수 있게 되었습니다. 이는 PHP 5.6까지는 불가능했던 기능으로, 상수 선언에 훨씬 더 유연성을 제공합니다.

define('subjects', ['Computer', 'operating system', 'networking', 'PHP 7', 'software engineering']);

여기서 subjects는 상수 배열의 이름이며, 배열에는 'Computer', 'operating system', 'networking', 'PHP 7', 'software engineering'이라는 5개의 과목명이 저장되어 있습니다.

상수 배열의 인덱스 구조

상수 배열도 일반 배열과 마찬가지로 인덱스가 0부터 시작합니다. 따라서 'Computer' 요소는 인덱스 0에, 'operating system'은 인덱스 1에 위치하며, 이후 요소들도 순차적으로 배치됩니다.

PHP 7 상수 배열 예제 코드

<?php
    const student_rollnos = [11,12,13,14,15];
    define('subjects', ['Computer', 'operating system', 'networking', 'PHP 7', 'software engineering']);
    print_r(student_rollnos);
    print_r(subjects);
?>

실행 결과

위 PHP 7 프로그램을 실행하면 다음과 같은 출력 결과를 확인할 수 있습니다.

Array
(
    [0] => 11
    [1] => 12
    [2] => 13
    [3] => 14
    [4] => 15
)
Array
(
    [0] => Computer
    [1] => operating system
    [2] => networking
    [3] => PHP 7
    [4] => software engineering
)

코드 설명

위 예제에서는 두 가지 방식으로 상수 배열을 선언했습니다. 먼저 const 키워드로 학생 번호 배열을 선언하고, 이어서 define() 함수를 사용해 과목명 배열인 subjects를 선언했습니다. 두 상수 배열 모두 한 번 정의되면 그 값을 변경할 수 없다는 점이 일반 배열과의 핵심적인 차이입니다.

print_r() 함수를 통해 각 배열의 전체 구조와 값을 출력한 결과, 두 방식 모두 동일하게 상수 배열로 동작하는 것을 확인할 수 있습니다. 조건문 안에서 상수를 선언해야 하거나 런타임에 유연하게 상수를 정의해야 하는 경우에는 define() 함수를 사용하는 것이 좋습니다.