PHP - 연산자: 프로그래밍 마법의 친절한 가이드
안녕하세요, 미래의 코딩 마법사 여러분! ? 여러분의 친절한 이웃 컴퓨터 선생님으로 여러 해의 경험을 가지고 있는 저는 PHP 연산자의 세계를 함께 탐험하게 되어 기쁩니다. 이전에 코딩을 해 본 적이 없어도 걱정 마세요 - 우리는 기본부터 시작하여 함께 지식을 쌓아 나갈 것입니다. 그럼, 가상의魔杖(키보드)을 잡고 함께 들어보겠습니다!
PHP에서 연산자는 무엇인가요?
상상해 보세요, 맛있는 케이크를 만들려고 요리하는 사람처럼. 재료(데이터)가 있지만, 그것들을 섞고 측정하고 비교할 도구가 필요합니다. 프로그래밍 세계에서 연산자는 그 도구입니다. 그들은 우리의 데이터에 특정 작업을 수행하는 데 도움을 줍니다. 마치 저울질이 재료를 섞는 데 도움이 되는 것처럼 말입니다.
PHP에서 연산자는 값이나 변수에 특정 연산을 수행하도록 컴퓨터에게 지시하는 기호나 키워드입니다. 그들은 우리의 코드를 유용하게 만드는 마법의 주문입니다!
간단한 예를 보겠습니다:
<?php
$magicNumber = 42;
$result = $magicNumber + 8;
echo $result;
?>
이 주문... 그러니까 코드에서 '+'는 우리의 연산자입니다. 그것은 PHP에게 $magicNumber에 8을 더하도록 지시합니다. 이를 실행하면 50이 마법처럼 나타납니다!
PHP의 산술 연산자
이제 PHP에서 제공하는 기본적인 수학 마법을 탐구해 보겠습니다. 산술 연산자는 모든 코딩 마법사가 알아야 할 기본 주문입니다.
다음은 산술 연산자와 그 예제입니다:
연산자 | 이름 | 예제 | 결과 |
---|---|---|---|
+ | 덧셈 | $a + $b | $a와 $b의 합 |
- | 뺄셈 | $a - $b | $a와 $b의 차이 |
* | 곱셈 | $a * $b | $a와 $b의 곱 |
/ | 나눗셈 | $a / $b | $a를 $b로 나눈 몫 |
% | 나머지 | $a % $b | $a를 $b로 나눈 나머지 |
** | 지수 | $a ** $b | $a를 $b次幂으로 |
이제 이들을 실제로 보겠습니다:
<?php
$potion1 = 10;
$potion2 = 3;
echo $potion1 + $potion2; // 출력: 13
echo $potion1 - $potion2; // 출력: 7
echo $potion1 * $potion2; // 출력: 30
echo $potion1 / $potion2; // 출력: 3.3333333333333
echo $potion1 % $potion2; // 출력: 1
echo $potion1 ** $potion2; // 출력: 1000
?>
각 줄은 다른 산술 연산을 수행합니다. '%' 연산자는 좀 이상할 수 있습니다 - 그것은 나눗셈의 나머지를 반환합니다. 이는 숫자가 짝수인지 홀수인지 확인하거나 원형 패턴을 다루할 때 매우 유용합니다.
PHP의 비교 연산자
다음在我们的魔法书中는 비교 연산자입니다. 이들은 Harry Potter의 "Revelio" 주문처럼 - 값 간의 관계에 대한 진실을 밝혀줍니다.
다음은 비교 연산자 표입니다:
연산자 | 이름 | 예제 | 결과 |
---|---|---|---|
== | 동등 | $a == $b | $a와 $b가 동등하다면 참 |
=== | 동치 | $a === $b | $a와 $b가 동치이고 동일한 타입이라면 참 |
!= | 불동등 | $a != $b | $a와 $b가 불동등하다면 참 |
<> | 불동등 | $a <> $b | $a와 $b가 불동등하다면 참 |
!== | 불동치 | $a !== $b | $a와 $b가 불동치이거나 타입이 다르다면 참 |
< | 작다 | $a < $b | $a가 $b보다 작다면 참 |
> | 크다 | $a > $b | $a가 $b보다 크다면 참 |
<= | 작거나 동일 | $a <= $b | $a가 $b보다 작거나 동일하다면 참 |
>= | 크거나 동일 | $a >= $b | $a가 $b보다 크거나 동일하다면 참 |
<=> | 우주선 | $a <=> $b | $a가 $b보다 작다면 -1, 동일하다면 0, 크다면 1을 반환 |
이제 비교 마법을 써보겠습니다:
<?php
$wandLength1 = 11;
$wandLength2 = "11";
var_dump($wandLength1 == $wandLength2); // 출력: bool(true)
var_dump($wandLength1 === $wandLength2); // 출력: bool(false)
var_dump($wandLength1 < 12); // 출력: bool(true)
var_dump($wandLength1 <=> 12); // 출력: int(-1)
?>
'=='과 '==='의 차이를 주목해 보세요. '==='는 값과 타입을 모두 확인하지만, '=='는 값을 확인합니다. 마치 두 마법 지팡이가 비슷하다는 것을 확인하는 것(==)과 정확히 동일하다는 것을 확인하는 것(===)입니다.
PHP의 논리 연산자
논리 연산자는 우리 코드의 결정자입니다. 그들은 여러 조건을 결합하는 데 도움을 주며, 마법사가 다양한 주문을 결합하여 강력한 효과를 내는 것과 같습니다.
다음은 논리 연산자 표입니다:
연산자 | 이름 | 예제 | 결과 |
---|---|---|---|
and | 그리고 | $a and $b | $a와 $b가 모두 참이라면 참 |
or | 또는 | $a or $b | $a 또는 $b가 참이라면 참 |
xor | 배타적 그리고 | $a xor $b | $a 또는 $b가 참이지만 둘 다 아닌 경우 참 |
&& | 그리고 | $a && $b | $a와 $b가 모두 참이라면 참 |
또는 | $a | ||
! | 아님 | !$a | $a가 아님라면 참 |
이제 이들을 실제로 보겠습니다:
<?php
$isWizard = true;
$hasWand = false;
var_dump($isWizard && $hasWand); // 출력: bool(false)
var_dump($isWizard || $hasWand); // 출력: bool(true)
var_dump(!$hasWand); // 출력: bool(true)
?>
이 예제에서, 마법사가 지팡이가 없다면 '&&' 연산자는 거짓을 반환하고, '||' 연산자는 至少 하나의 조건이 참이므로 참을 반환합니다. '!' 연산자는 참 giá를 뒤집습니다.
PHP의 할당 연산자
할당 연산자는 "Accio" 주문처럼 - 값들을 변수로 불러옵니다. 기본 할당 연산자는 '='입니다만, PHP는 우리의 생활을 더 쉽게 만들기 위해 몇 가지 트릭을 가지고 있습니다.
다음은 할당 연산자 표입니다:
연산자 | 예제 | 동일한 것 |
---|---|---|
= | $a = $b | $a = $b |
+= | $a += $b | $a = $a + $b |
-= | $a -= $b | $a = $a - $b |
*= | $a *= $b | $a = $a * $b |
/= | $a /= $b | $a = $a / $b |
%= | $a %= $b | $a = $a % $b |
.= | $a .= $b | $a = $a . $b |
이제 이들을 실제로 보겠습니다:
<?php
$spellPower = 10;
$spellPower += 5; // $spellPower는 이제 15입니다
echo $spellPower . "\n";
$spellName = "Lumos";
$spellName .= " Maxima"; // $spellName는 이제 "Lumos Maxima"입니다
echo $spellName;
?>
'+=' 연산자는 변수에 값을 더하고 결과를 다시 할당합니다. '.=' 연산자는 문자열을 연결하는 데 사용됩니다.
PHP의 문자열 연산자
문자열을 다루는 데 특별한 연산자가 있습니다. 두 가지뿐이지만 강력합니다:
연산자 | 이름 | 예제 | 결과 |
---|---|---|---|
. | 연결 | $a . $b | $a와 $b의 연결 |
.= | 연결 할당 | $a .= $b | $a에 $b를 추가 |
이제 문자열 마법을 써보겠습니다:
<?php
$firstName = "Harry";
$lastName = "Potter";
$fullName = $firstName . " " . $lastName;
echo $fullName . "\n"; // 출력: Harry Potter
$greeting = "Hello, ";
$greeting .= $fullName;
echo $greeting; // 출력: Hello, Harry Potter
?>
'.' 연산자는 문자열을 연결하고, '.=' 연산자는 기존 문자열에 다른 문자열을 추가합니다. 마치 단어를 붙이는 마법胶水처럼!
PHP의 배열 연산자
PHP의 배열은 마법의 저장고와 같습니다. 여러 항목을 저장할 수 있는 특별한 컨테이너입니다. PHP는 배열을 다루는 데 특별한 연산자를 제공합니다:
연산자 | 이름 | 예제 | 결과 |
---|---|---|---|
+ | 합치기 | $a + $b | $a와 $b의 합 |
== | 동등 | $a == $b | $a와 $b가 동등하다면 참 |
=== | 동치 | $a === $b | $a와 $b가 동치이고 동일한 타입이라면 참 |
!= | 불동등 | $a != $b | $a와 $b가 불동등하다면 참 |
<> | 불동등 | $a <> $b | $a와 $b가 불동등하다면 참 |
!== | 불동치 | $a !== $b | $a와 $b가 불동치이거나 타입이 다르다면 참 |
이제 이들을 실제로 보겠습니다:
<?php
$spellBook1 = ["Lumos", "Expelliarmus"];
$spellBook2 = ["Accio", "Alohomora"];
$allSpells = $spellBook1 + $spellBook2;
print_r($allSpells);
$spellBook3 = ["Lumos", "Expelliarmus"];
var_dump($spellBook1 == $spellBook3); // 출력: bool(true)
var_dump($spellBook1 === $spellBook3); // 출력: bool(true)
?>
'+' 연산자는 배열을 합치며, 왼쪽 배열의 키가 중복되면 왼쪽 배열의 키를 유지합니다. '=='과 '===' 연산자는 배열을 비교하며, '==='는 타입과 순서까지 확인합니다.
PHP의 조건 연산자
때로는 코드에서 빠른 결정을 내려야 합니다. 그때 삼항 연산자가 유용합니다. 이는 마이너 if-else 문과 같습니다:
<?php
$isOfAge = 17;
$canUseWand = ($isOfAge >= 17) ? "Yes" : "No";
echo $canUseWand; // 출력: Yes
?>
이 연산자는 조건을 확인하고, 참이면 첫 번째 값을, 거짓이면 두 번째 값을 반환합니다. 조건에 따라 값을 할당하는 빠른 방법입니다.
PHP의 연산자 카테고리
우리의 마법 여행을 마무리하며, 우리의 연산자를 카테고리화해 보겠습니다:
- 산술 연산자: +, -, *, /, %, **
- 할당 연산자: =, +=, -=, *=, /=, %=, .=
- 비교 연산자: ==, ===, !=, <>, !==, <, >, <=, >=, <=>
- 논리 연산자: and, or, xor, &&, ||, !
- 문자열 연산자: ., .=
- 배열 연산자: +, ==, ===, !=, <>, !==
- 조건 연산자: ?:
PHP의 연산자 우선순위
마치 수학에서처럼, PHP 연산자도 우선순위가 있습니다. 이는 복잡한 표현式中에서 어떤 연산이 먼저 수행되는지 결정합니다. 다음은 간단한 우선순위 목록입니다(가장 높은 우선순위부터):
- ** (Exponentiation)
- ! (Logical NOT)
- *, /, % (Multiplication, Division, Modulus)
- +, - (Addition, Subtraction)
- <, <=, >, >= (Comparison)
- ==, !=, ===, !== (Equality)
- && (Logical AND)
- || (Logical OR)
- = (Assignment)
括号를 사용하여 연산의 순서를 제어할 수 있습니다. 마치 수학 수업에서처럼!
그리고 여러분, 젊은 마법사 여러분! 여러분의 첫 번째 PHP 연산자 마법 수업이 완료되었습니다. 이 주문들을 연습하고, 오류를 두려워하지 말고 배울 수 있도록 실험해 보세요. 다음 수업에서 다시 만나까지, 마법의 문을 열어 두고, PHP의 기적을 탐험하세요!
Credits: Image by storyset