변수를 선언하고 값을 설정하는 경우 만약 값이 없는 경우에 다른 값~ 기본값으로 설정하게 하는 방법에 대하여 알아보려 합니다. 좀 더 쉽게 얘기해보겠습니다.

게시판이 있다고 생각해보겠습니다. 게시판은 1페이지, 2페이지, 3페이지가 있을 수 있겠죠? 만약 url 파라미터에 page라는 값을 get으로 받아와 현재의 페이지값을 변수에 선언한다고 할 경우 파라미터의 값이 없는 경우가 있을 수 있겠죠~ 이 경우 페이지는 1페이지를 보여주고 변수에도 1페이지를 정하게 될 것입니다. 이때 if문을 사용할 수도 있지만 더 간단한 방법은 없을까요?

자바스크립트를 예로 들면 아래와 같이 선언이 가능합니다.

var page = pageNo || 1;
위에 선언된 page 변수는 pageNo라는 값이 존재하는 경우 해당값을 설정하고 만약에 없는 상태... null 또는 not defined의 경우에는 1이 자동으로 설정됩니다. if문을 사용하는 것보다 매우 간단하고 가독성도 뛰어납니다.

PHP도 동일한 기능이 가능합니다. 아래와 같이 사용합니다.

<?php
$page = $pageNo ?: 1;
?>
|| 모양의 파이프라인이 아닌 ?: 기호를 설정하는 것으로 값이 없거나 선언되지 않은 경우 다른 값을 기본값으로 사용할 수 있게됩니다 ^^

참고로 php의 empty()를 사용할 경우 동일한 기능을 구현할 수 있습니다. 다만 코드는 위의 예제가 간결하고 보기 편하죠.

<?php
if (empty($pageNo)) {
  $page = 1;

?>