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

PHP $argv – 명령줄 인자 다루는 방법 완벽 가이드

소개

PHP 스크립트를 명령줄(CLI)에서 실행하면, $argv 슈퍼글로벌 배열에 전달된 인자들이 자동으로 담깁니다. 배열의 첫 번째 요소인 $argv[0]에는 항상 실행 중인 스크립트의 이름이 저장됩니다. 단, php.ini 설정 파일에서 register_argc_argv 지시어가 비활성화되어 있으면 이 변수를 사용할 수 없습니다.

$argv 기본 사용법

다음은 명령줄에서 실행하는 간단한 PHP 스크립트입니다. var_dump() 함수를 사용해 $argv 배열의 구조를 확인해 보겠습니다.

예제 1: $argv 배열 확인하기

<?php
var_dump($argv);
?>

실행 결과

array(1) {
    [0]=>
    string(8) "main.php"
}

위 결과에서 알 수 있듯이, 별도의 인자 없이 스크립트를 실행하면 $argv 배열에는 스크립트 파일 이름 하나만 포함됩니다.

예제 2: 명령줄 인자로 덧셈 수행하기

다음 예제는 명령줄에서 전달받은 두 개의 숫자 인자를 더한 값을 출력합니다.

<?php
$add = $argv[1] + $argv[2];
echo "addition = " . $add;
?>

실행 결과

C:\xampp\php>php test1.php 10 20
addition = 30

스크립트 이름 뒤에 공백으로 구분해 10과 20을 전달하면, 각 값이 $argv[1]과 $argv[2]에 저장됩니다. 명령줄 인자는 문자열 형태로 전달되지만, 산술 연산 과정에서 PHP가 자동으로 숫자로 변환하기 때문에 합계 30이 정상적으로 출력됩니다.

알아두면 좋은 점

  • 전달된 모든 인자는 문자열(string) 형태로 저장되며, 필요에 따라 자동 타입 변환이 발생합니다.
  • 전달된 인자의 개수는 $argc 변수로 확인할 수 있습니다.
  • $argv는 웹 서버 환경이 아닌 CLI(Command Line Interface) 환경에서만 동작합니다.