[PHP] 변수
PHP 코드를 처음 작성할 때 가장 먼저 사용하게 되는 개념 중 하나가 변수입니다.
WordPress에서 WP_Query의 조건을 만들거나 옵션값을 저장할 때도 변수에 값을 담은 뒤 필요한 위치에서 다시 사용합니다.
PHP 변수
변수는 값을 저장해 두고 코드 안에서 다시 사용하기 위한 이름입니다.
PHP의 변수는 이름 앞에 $를 붙여 작성합니다.
$name = 'company';
$post_count = 6;
$is_visible = true;위 코드에서 $name, $post_count, $is_visible이 변수이고, 오른쪽의 값이 각 변수에 저장됩니다.
변수 선언과 값 할당
PHP는 별도의 선언 키워드 없이 변수에 값을 할당하면 바로 사용할 수 있습니다.
$title = 'Latest News';=는 오른쪽 값을 왼쪽 변수에 저장하는 할당 연산자입니다.
수학에서 두 값이 같다는 의미로 사용하는 기호와는 역할이 다릅니다.
$posts_per_page = 6;이 코드는 $posts_per_page와 6이 같다는 의미가 아니라, 변수에 숫자 6을 저장한다는 의미입니다.
변수 이름 규칙
PHP 변수 이름은 $ 다음에 문자 또는 밑줄로 시작해야 합니다.
그 뒤에는 문자, 숫자, 밑줄을 사용할 수 있습니다.
$site_name = 'Example';
$_post_id = 120;
$product2 = 'shirts';숫자로 시작하는 변수 이름은 사용할 수 없습니다.
$2product = 'shirts'; // 사용할 수 없음PHP의 변수 이름은 대소문자를 구분합니다.
$name = 'New Company';
$Name = 'Another Company';$name과 $Name은 서로 다른 변수입니다.
실제 코드에서는 혼동을 줄이기 위해 한 가지 명명 방식으로 통일하는 것이 좋습니다.
WordPress PHP 코드에서는 여러 단어를 밑줄로 연결하는 snake_case가 자주 사용됩니다.
$post_type = 'menu';
$menu_id = 120;
$posts_per_page = -1;변수의 값 변경
변수에는 새로운 값을 다시 할당할 수 있습니다.
$count = 3;
$count = 5;두 번째 할당이 실행되면 $count에는 기존 값 3 대신 5가 저장됩니다.
기존 값을 이용해 새로운 값을 저장할 수도 있습니다.
$count = 3;
$count = $count + 1;최종적으로 $count의 값은 4가 됩니다.
변수와 데이터 타입
PHP는 변수 선언 시 타입을 별도로 지정하지 않아도 저장된 값에 따라 타입을 결정합니다.
$name = 'newcompany'; // string
$count = 6; // int
$price = 12.5; // float
$is_active = true; // bool
$items = array(); // array같은 변수에 다른 타입의 값을 다시 저장하는 것도 가능합니다.
$value = 10;
$value = 'ten';처음에는 정수였지만 이후 문자열로 변경됩니다.
PHP가 값에 따라 타입을 처리해 주기 때문에 편리하지만, 예상하지 못한 타입이 들어오면 오류나 잘못된 비교가 발생할 수 있습니다.
변수의 값과 타입을 함께 확인할 때는 var_dump()를 사용할 수 있습니다.
$count = 6;
var_dump( $count );출력 결과는 다음과 같습니다.
int(6)WPCodeBox에서 코드를 확인할 때도 변수에 어떤 값이 들어 있는지 점검하는 용도로 사용할 수 있습니다. 다만 실제 운영 화면에 디버깅 결과가 그대로 출력되지 않도록 확인 후 제거해야 합니다.
문자열에서 변수 사용하기
큰따옴표로 작성한 문자열 안에서는 변수의 값이 문자열에 포함됩니다.
$name = 'newcompany';
$message = "Company: $name";$message에는 Company: newcompany 가 저장됩니다.
변수 이름의 범위를 명확하게 표현해야 할 때는 중괄호를 사용할 수 있습니다.
$product = 'document';
$message = "{$product}s";반면 작은따옴표 안에서는 변수가 치환되지 않고 문자 그대로 처리됩니다.
$name = 'newcompany';
$message = 'Company: $name';이 경우 $message에는 Company: $name이라는 문자열이 그대로 저장됩니다.
문자열을 연결할 때는 . 연산자를 사용할 수도 있습니다.
$name = 'newcompany';
$message = 'Company: ' . $name;WPCodeBox에서 사용하는 예시
WordPress 쿼리 조건을 만들 때는 여러 값을 변수와 배열에 저장한 뒤 함수에 전달하는 방식을 자주 사용합니다.
$post_type = 'menu';
$posts_per_page = -1;
$args = array(
'post_type' => $post_type,
'posts_per_page' => $posts_per_page,
);
$query = new WP_Query( $args );값을 변수로 분리하면 같은 값을 여러 위치에서 재사용하기 쉽고, 나중에 조건을 변경할 때도 수정할 위치가 분명해집니다.
다만 한 번만 사용하는 단순한 값까지 모두 변수로 분리하면 오히려 코드를 따라가기 어려워질 수 있습니다. 의미를 설명하거나 여러 번 재사용할 필요가 있는 값을 중심으로 변수에 담는 것이 좋습니다.
정리
PHP 변수는 값에 이름을 붙여 저장하고 다시 사용하기 위한 기능입니다.
$variable_name = 'value';변수 이름은 $로 시작하고, 문자 또는 밑줄 뒤에 문자·숫자·밑줄을 사용할 수 있습니다. 변수 이름은 대소문자를 구분하며, 저장된 값에 따라 변수의 타입이 결정됩니다.
WordPress와 WPCodeBox에서는 쿼리 조건, 게시물 ID, 옵션값처럼 여러 위치에서 사용하거나 의미를 구분해야 하는 값을 변수에 저장하는 경우가 많습니다.