문득 php에서도 js처럼 변수를 설정할 수 있을까 궁금했다..
PHP에서 ??, ||, !는 모두 조건 처리나 값을 평가하는 데 쓰이는 연산자들이다.
각각의 역할은
1. ?? (Null Coalescing Operator)
- ??는 널 병합 연산자라고 하며, PHP 7 이상에서 사용 가능합니다.
- 변수가 존재하지 않거나 null일 때, 대체 값을 반환합니다.
- 예시:
$username = $userName ?? 'Guest';
여기서 $userName이 null이거나 정의되지 않았다면 'Guest'가 $username에 할당됩니다.
그렇지 않으면 $userName의 값이 할당됩니다.
2. || (Logical OR Operator)
- ||는 논리 OR 연산자로, 하나라도 true면 true를 반환합니다.
- 주로 조건문에서 여러 조건 중 하나만 만족하면 되는 경우에 사용됩니다.
- 예시:
if ($age < 18 || $isStudent) {
echo "Discount applies!";
}
$age가 18 미만이거나 $isStudent가 true일 경우 조건이 참이 되어 "Discount applies!"가 출력됩니다.
3. ! (Logical NOT Operator)
- !는 논리 NOT 연산자로, boolean 값을 반대로 만듭니다.
- true를 false로, false를 true로 바꾸는 역할을 합니다.
- 예시:
$isLoggedIn = false;
if (!$isLoggedIn) {
echo "Please log in!";
}
여기서 $isLoggedIn이 false이므로 !$isLoggedIn는 true가 되어 "Please log in!"이 출력됩니다.
추가적으로: ??와 ||의 차이점
- ??는 null이나 정의되지 않은 변수를 검사하는 데 주로 사용되고, ||는 단순히 true/false 논리 평가에 사용됩니다.
- 예시:
$name = null;
echo $name ?? 'No name'; // "No name" 출력
echo $name || 'No name'; // ""(빈 문자열) 출력, `$name`이 false로 간주되지만 대체 값이 반환되진 않음
이렇게 각각의 연산자는 조건을 평가하거나 값을 처리할 때 유용하게 사용할 수 있습니다.
728x90
반응형
'LARAVEL' 카테고리의 다른 글
[PHP] substr 대신 mb_substr을 사용하는 이유 (0) | 2024.11.20 |
---|---|
[라라벨] @section('stlye')과 <style></style>의 차이 (0) | 2024.11.19 |
[LARAVEL] 세션값으로 기존에 가려고 했던 URL 이동하기 (1) | 2024.11.07 |
[PHP] isset() 과 empty() 의 차이 (0) | 2024.10.24 |
[블레이드] 데이터 출력시 HTML 태그 나올 때 해결법 (0) | 2024.09.21 |