PHP - 연산자: 프로그래밍 마법의 친절한 가이드

안녕하세요, 미래의 코딩 마법사 여러분! ? 여러분의 친절한 이웃 컴퓨터 선생님으로 여러 해의 경험을 가지고 있는 저는 PHP 연산자의 세계를 함께 탐험하게 되어 기쁩니다. 이전에 코딩을 해 본 적이 없어도 걱정 마세요 - 우리는 기본부터 시작하여 함께 지식을 쌓아 나갈 것입니다. 그럼, 가상의魔杖(키보드)을 잡고 함께 들어보겠습니다!

PHP - Operators

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의 연산자 카테고리

우리의 마법 여행을 마무리하며, 우리의 연산자를 카테고리화해 보겠습니다:

  1. 산술 연산자: +, -, *, /, %, **
  2. 할당 연산자: =, +=, -=, *=, /=, %=, .=
  3. 비교 연산자: ==, ===, !=, <>, !==, <, >, <=, >=, <=>
  4. 논리 연산자: and, or, xor, &&, ||, !
  5. 문자열 연산자: ., .=
  6. 배열 연산자: +, ==, ===, !=, <>, !==
  7. 조건 연산자: ?:

PHP의 연산자 우선순위

마치 수학에서처럼, PHP 연산자도 우선순위가 있습니다. 이는 복잡한 표현式中에서 어떤 연산이 먼저 수행되는지 결정합니다. 다음은 간단한 우선순위 목록입니다(가장 높은 우선순위부터):

  1. ** (Exponentiation)
  2. ! (Logical NOT)
  3. *, /, % (Multiplication, Division, Modulus)
  4. +, - (Addition, Subtraction)
  5. <, <=, >, >= (Comparison)
  6. ==, !=, ===, !== (Equality)
  7. && (Logical AND)
  8. || (Logical OR)
  9. = (Assignment)

括号를 사용하여 연산의 순서를 제어할 수 있습니다. 마치 수학 수업에서처럼!

그리고 여러분, 젊은 마법사 여러분! 여러분의 첫 번째 PHP 연산자 마법 수업이 완료되었습니다. 이 주문들을 연습하고, 오류를 두려워하지 말고 배울 수 있도록 실험해 보세요. 다음 수업에서 다시 만나까지, 마법의 문을 열어 두고, PHP의 기적을 탐험하세요!

Credits: Image by storyset