이번 시간에는 PHP 연산자에 대해 배워보겠습니다. 우리는 PHP의 모든 연산자와 그 사용 영역을 예제와 함께 완전하고 자세하게 설명했습니다.

하나 이상의 값 사이에서 연산을 수행하는 문자나 단어를 연산자 또는 연산자라고 합니다. 연산자의 영어 단어는 연산자이며 터키어로는 연산자로 알려져 있습니다. 그러나 일부 소식통에서는 이를 운영자로 언급합니다. 둘 다 같은 의미를 가지고 있습니다.

PHP 연산자

PHP 산술 연산자

PHP 산술 연산자는 숫자 값과 함께 사용되어 덧셈, 뺄셈, 곱셈과 같은 일반적인 산술 연산을 수행합니다.

운영자이름예
+추가$a + $b
-빼기$a - $b
*곱셈$a * $b
/구분$a / $b
%모듈러스(모듈러스)$a % $b

PHP 산술 연산자 예

더하기 연산자를 사용하여 2개의 값을 더합니다. 이 예에서는 PHP 추가 연산자를 사용했습니다.

echo 2+4; // Çıktı: 6

빼기 연산자를 사용하여 한 값에서 다른 값을 뺍니다. 이 예에서는 PHP 빼기 연산자를 사용했습니다.

echo 5-2; // Çıktı: 3

나누기 연산자를 사용하여 한 값을 다른 값으로 나눕니다. 이 예에서는 PHP 분할 연산자를 사용했습니다.

echo 6/2; // Çıktı: 3

곱셈 연산자를 사용하여 한 값에 다른 값을 곱합니다. 이 예에서는 PHP 곱셈 연산자를 사용했습니다.

echo 5*2; // Çıktı: 10

모듈러스 연산자를 사용하면 한 값을 다른 값으로 나눌 때 나머지를 찾습니다. 이 예에서는 PHP 모듈 연산자를 사용했습니다:

echo 7%2; // Çıktı: 1

PHP 할당 연산자

PHP 할당 연산자는 값을 할당하는 데 사용됩니다.

운영자이름예
=과제$a = $b
+=수집 및 폐기$a +=4
-=빼기 및 할당$a -=4
*=분할 및 할당$a /=4
*=곱하고 할당하기$a *=4
%=모듈 및 할당$a%=4

PHP 할당 연산자 예

등호 연산자를 사용하여 오른쪽의 값을 왼쪽 피연산자에 할당했습니다.

$a = 20;

add 및 할당 연산자를 사용하여 왼쪽 및 오른쪽 변수의 합을 변수에 할당했습니다.

$a = 10;
$b = 15; 
$a += $b; // $a değişkeninin değeri 25
// Üst satırdaki ifade ile $a = $a + $b ifadesi aynı.

빼기 및 할당 연산자를 사용하여 왼쪽 변수 값에서 오른쪽 변수 값을 뺀 결과를 변수에 할당했습니다.

$a = 20;
$b = 10; 
$a -= $b; // $a değişkeninin değeri 10
// Üst satırdaki ifade ile $a = $a - $b ifadesi aynı.

나누기 및 할당 연산자를 사용하여 왼쪽에 있는 변수의 값을 오른쪽에 있는 변수의 값으로 몇 번이나 나눌 수 있는지에 대한 결과를 변수에 할당했습니다.

$a = 12;
$b = 4; 
$a /= $b; // $a değişkeninin değeri 3
// Üst satırdaki ifade ile $a = $a / $b ifadesi aynı.

곱셈 및 할당 연산자를 사용하여 두 변수 값을 곱한 결과를 변수에 할당했습니다.

$a = 2;
$b = 2; 
$a *= $b; // $a değişkeninin değeri 4
// Üst satırdaki ifade ile $a = $a * $b ifadesi aynı.

모듈 및 할당 연산자를 사용하여 왼쪽 변수 값을 오른쪽 변수 값으로 나눈 나머지를 변수에 할당했습니다.

$a = 8;
$b = 3; 
$a %= $b; // $a değişkeninin değeri 2
// Üst satırdaki ifade ile $a = $a % $b ifadesi aynı.

PHP 비교 연산자

PHP 비교 연산자는 두 값을 비교하는 데 사용됩니다.

운영자이름예
==같음$a == $b
===동등한$a === $b
!=같지 않음(같지 않음)$a != $b
!==동일하지 않음$a !== $b
<>같지 않음(같지 않음)$a <> $b
>보다 큼$a > $b
<미만$a < $b
>=이상$a >= $b
<=작거나 같음(작거나 같음)$a <= $b

PHP 비교 연산자 예

같음 연산자를 사용하여 두 값의 동일성을 확인했습니다.

$a = 4;
$b = 2; 
if ($a == $b) {
    echo "A, B'ye eşittir";
} else {
    echo "A, B'ye eşit değildir";
}
// Çıktı: A, B'ye eşit değildir

동일한 연산자를 사용하여 두 값의 동등성을 확인했습니다.

$a = 4;
$b = '4'; 
if ($a === $b) {
    echo "A, B'ye denktir";
} else {
    echo "A, B'ye denk değildir";
}
// Çıktı: A, B'ye denk değildir

같지 않음 연산자를 사용하여 두 값의 불일치를 확인했습니다.

$a = 4;
$b = 3; 
if ($a != $b) {
    echo "A, B'ye eşit değildir";
} else {
    echo "A, B'ye eşittir";
}
// Çıktı: A, B'ye eşit değildir

동일하지 않은 연산자를 사용하여 두 값의 불일치를 확인했습니다.

$a = 4;
$b = '4'; 
if ($a !== $b) {
    echo "A, B'ye denk değildir";
} else {
    echo "A, B'ye denktir";
}
// Çıktı: A, B'ye denk değildir

같지 않음 연산자를 사용하여 두 값의 불일치를 확인했습니다.

$a = 4;
$b = 2; 
if ($a <> $b) {
    echo "A, B'ye eşit değildir";
} else {
    echo "A, B'ye eşittir";
}
// Çıktı: A, B'ye eşit değildir

보다 큼 연산자를 사용하여 왼쪽 값이 오른쪽 값보다 큰지 확인했습니다.

$a = 4;
$b = 2; 
if ($a > $b) {
    echo "A, B'den daha büyüktür";
} else {
        echo "A, B'den daha büyük değildir";
}
// Çıktı: A, B'den daha büyüktür

보다 작음 연산자를 사용하여 왼쪽 값이 오른쪽 값보다 작은지 확인했습니다.

$a = 2;
$b = 4; 
if ($a &lt $b) {
    echo "A, B'den daha küçüktür";
} else {
        echo "A, B'den daha küçük değildir";
}
// Çıktı: A, B'den daha küçüktür

보다 크거나 같음 연산자를 사용하여 왼쪽 값이 오른쪽 값보다 크거나 같은지 확인했습니다.

$a = 4;
$b = 2; 
if ($a >= $b) {
    echo "A, B'den daha büyüktür veya eşittir";
} else {
        echo "A, B'den daha büyük veya eşit değildir";
}
// Çıktı: A, B'den daha büyüktür veya eşittir

작거나 같음 연산자를 사용하여 왼쪽 값이 오른쪽 값보다 작거나 같은지 확인했습니다.

$a = 2;
$b = 4; 
if ($a <= $b) {
    echo "A, B'den daha küçüktür veya eşittir";
} else {
        echo "A, B'den daha küçük veya eşit değildir";
}
// Çıktı: A, B'den daha küçüktür veya eşittir

PHP 증가/감소 연산자

PHP 증분 연산자는 변수의 값을 증가시키는 데 사용됩니다. PHP 감소 연산자는 변수 값을 줄이는 데 사용됩니다.

운영자이름
++$나는이전 증가(사전 증가)
$i++증분 후(사후 증분)
--$i이전 감소(사전 감소)
$i--감소 후(사후 감소)

PHP 증가 감소 연산자 예

사전 증가 연산자는 먼저 변수 $i의 값을 증가시킨 다음 변수 $i를 반환합니다.

$i = 10;  
echo ++$i; // Çıktı: 11

그런 다음 사후 증가 연산자는 변수 $i를 반환한 다음 변수 $i의 값을 증가시킵니다.

$i = 10;  
echo $i++; // Çıktı: 10

선행 감소 연산자는 먼저 변수 $i의 값을 감소시킨 다음 변수 $i를 반환합니다.

$i = 10;  
echo --$i; // Çıktı: 9

그런 다음 사후 감소 연산자는 변수 $i를 반환한 다음 변수 $i의 값을 감소시킵니다.

$i = 10;  
echo ++$i; // Çıktı: 10

PHP 논리 연산자

PHP 논리 연산자는 조건식을 결합하는 데 사용됩니다.

운영자이름예
맹세그리고 (그리고)$a와 $b
또는또는 (또는)$a 또는 $b
xorxor$a x또는 $b
&&그리고 (그리고)$a && $b
||또는 (또는)$a || $b
!아니다(참고)$a! $b

PHP 논리 연산자 예

그리고 (and) 연산자는 $a 및 $b의 조건이 충족되면 true를 반환합니다.

$a = 100;
$b = 50;
if ($a === 100 and $b === 50) {
    echo "A, 100'e denktir ve B, 50'e denktir";
}
// Çıktı: A, 100'e denktir ve B, 50'e denktir

or(or) 연산자는 $a 또는 $b의 조건이 충족되면 true를 반환합니다.

$a = 100;
$b = 50;
if ($a === 100 or $b === 75) {
    echo "A, 100'e denktir veya B, 75'e denktir";
}
// Çıktı: A, 100'e denktir veya B, 75'e denktir

그리고 (and) 연산자는 $a 및 $b의 조건이 충족되면 true를 반환합니다.

$a = 100;
$b = 50;
if ($a === 100 && $b === 50) {
    echo "A, 100'e denktir ve B, 50'e denktir";
}
// Çıktı: A, 100'e denktir ve B, 50'e denktir

or(or) 연산자는 $a 또는 $b의 조건이 충족되면 true를 반환합니다.

$a = 100;
$b = 50;
if ($a === 100 || $b === 75) {
    echo "A, 100'e denktir veya B, 75'e denktir";
}
// Çıktı: A, 100'e denktir veya B, 75'e denktir

xor 연산자는 $a 또는 $b의 조건이 충족되는 경우에만 true를 반환합니다.

$a = 100;
$b = 50;
if ($a === 100 xor $b === 75) {
    echo "A, 100'e denktir veya B, 75'e denktir";
}
// Çıktı: A, 100'e denktir veya B, 75'e denktir

not 연산자는 $a의 조건이 충족되지 않으면 true를 반환합니다.

$x = 50;
if ($x !== 75) {
    echo "X, 75'e denk değildir";
}
// Çıktı: X, 75'e denk değildir

PHP 텍스트 연산자(문자열 연산자)

PHP에는 텍스트용으로 설계된 2개의 연산자가 있습니다.
연결 연산자 및 연결 할당 연산자.

운영자이름예
.연결 연산자$a. $b
.=연결 할당 연산자$a .= $b

PHP 텍스트 연산자 예

연결 연산자는 두 개의 데이터를 결합합니다. 아래 예에서는 $a 및 $b 변수의 데이터를 결합하여 인쇄했습니다.

$a = "Hello ";
$b = " World!";
echo $a . $b;
// Çıktı: Hello World!

연결 할당 연산자는 첫 번째 데이터 옆에 두 번째 데이터를 추가합니다. 아래 예에서는 변수 $a의 데이터 옆에 변수 $b의 데이터를 추가하고 변수 $a를 인쇄했습니다.

$a = "Hello ";
$b = " World!";
$a .= $b;
echo $a;
// Çıktı: Hello World!

PHP 배열 연산자

PHP의 배열 연산자는 배열을 비교하는 데 사용됩니다.

운영자이름예
+조합운영자(조합)$a + $b
==항등 연산자(동등)$a == $b
===등가 연산자(ID)$a === $b
!=부등 연산자(부등)$a != $b
<>부등 연산자(부등)$a <> $b
!==불균형 연산자(비ID)$a !== $b

PHP 배열 연산자 예

합집합 연산자는 배열을 결합합니다.

$a = array('a' => 'kırmızı', 'b' => 'mavi');  
$b = array('c' => 'yeşil', 'd' => 'sarı');  
print_r($a + $b);
// Çıktı: Array ( [a] => kırmızı [b] => mavi [c] => yeşil [d] => sarı )

항등 연산자(equality)는 배열의 항등 제어를 제공합니다. 같음 연산자를 사용하면 두 배열의 데이터가 같은지 여부를 확인할 수 있습니다.

$a = array('a' => 'kırmızı', 'b' => 'mavi');  
$b = array('c' => 'yeşil', 'd' => 'sarı');  
if ($a == $b) {
	echo "A, B'ye eşittir";
} else {
	echo "A, B'ye eşit değildir";
}
// Çıktı: A, B'ye eşit değildir

항등 연산자는 배열의 동등성 제어를 제공합니다. 등가 연산자를 사용하면 두 배열의 데이터가 같은지 여부를 확인할 수 있습니다.

$a = array('a' => 'kırmızı', 'b' => 'mavi');  
$b = array('c' => 'yeşil', 'd' => 'sarı');  
if ($a === $b) {
	echo "A, B'ye denktir";
} else {
	echo "A, B'ye denk değildir";
}
// Çıktı: A, B'ye denk değildir

불평등 연산자(inequality)는 배열의 불평등 제어를 제공합니다. 두 배열의 데이터가 부등 연산자와 동일하지 않음을 알 수 있습니다.

$a = array('a' => 'kırmızı', 'b' => 'mavi');  
$b = array('c' => 'yeşil', 'd' => 'sarı');  
if ($a != $b) {
	echo "A, B'ye eşit değildir";
} else {
	echo "A, B'ye eşittir";
}
// Çıktı: A, B'ye eşit değildir

불평등 연산자(inequality)는 배열의 불평등 제어를 제공합니다. 두 배열의 데이터가 부등 연산자와 동일하지 않음을 알 수 있습니다.

$a = array('a' => 'kırmızı', 'b' => 'mavi');  
$b = array('c' => 'yeşil', 'd' => 'sarı');  
if ($a  $b) {
	echo "A, B'ye eşit değildir";
} else {
	echo "A, B'ye eşittir";
}
// Çıktı: A, B'ye eşit değildir

비식별 연산자는 배열에서 비식별 제어를 제공합니다. 두 배열의 데이터가 부등 연산자와 동일하지 않음을 알 수 있습니다.

$a = array('a' => 'kırmızı', 'b' => 'mavi');  
$b = array('c' => 'yeşil', 'd' => 'sarı');  
if ($a !== $b) {
	echo "A, B'ye denk değildir";
} else {
	echo "A, B'ye denktir";
}
// Çıktı: A, B'ye denk değildir

PHP 조건부 할당 연산자

PHP의 조건부 할당 연산자는 조건에 따라 값을 할당하는 데 사용됩니다.

운영자이름예
?:삼항 연산자(삼항)$a = expr1 ? expr2 : expr3
??Null 병합 연산자(null 병합)$a = expr1 ?? expr2

PHP 조건부 할당 연산자 예

삼항 연산자는 조건부 데이터를 할당합니다. 아래 예에서는 비어 있음($user) 조건이 true를 반환하면 $status 변수에 "로그인되지 않음" 데이터를 할당하고, false를 반환하면 "로그인됨" 데이터를 할당했습니다.

// Örnek 1:
$user = "Onur Özden";
echo $status = (empty($user)) ? "giriş yapılmadı" : "giriş yapıldı";
// empty($user) koşulu false ise, $status değişkenine "giriş yapıldı" değerini ata, true ise $status değişkenine "giriş yapılmadı" değerini ata.
// Örnek 2:
$user = "Onur Özden";
echo $status = (empty($user)) ? 0 : 1;
// empty($user) = false ise, $status değişkenine 0 değerini ata, true ise $status değişkenine 1 değerini ata.

Null 병합 연산자는 조건부 데이터를 할당합니다. 첫 번째 데이터가 존재하고 null이 아닌 경우 $a 값이 첫 번째 데이터입니다. 첫 번째 데이터가 존재하지 않거나 null인 경우 $a의 값은 두 번째 데이터입니다. 아래 예에서는 비어 있음($user) 조건이 true를 반환하면 $status 변수에 "로그인되지 않음" 데이터를 할당하고, false를 반환하면 "로그인됨" 데이터를 할당했습니다.

// $_GET['user'] varsa ve null değilse $user değişkenine değer olarak atanır, $_GET['user'] yoksa veya null ise $user değişkenine "giriş yapılmadı" metni değer olarak tanır. 
echo $user = $_GET['user'] ?? 'giriş yapılmadı';
// Çıktı: giriş yapılmadı
// $car değişkeni varsa ve null değilse $car değişkenine $car değişkeninin değeri atanır, $car değişkeni yoksa veya null ise $car değişkenine 'BMW' değeri atanır. 
echo $color = $color ?? 'BMW';
// Çıktı: BMW

PHP 운영자 우선 순위

운영자 우선순위의 예

수학에서와 마찬가지로 PHP의 연산자에는 몇 가지 우선순위 값이 있습니다. 예를 들어 이것을 이해해 봅시다.

echo 3 + 5 * 2; // Çıktı: 13

위 프로세스에서 출력은 13이 됩니다. 왜냐하면 곱셈이 덧셈보다 우선하기 때문입니다. 따라서 곱셈을 먼저 수행한 후 덧셈을 수행했습니다. 다만, 처리 우선순위에 개입하는 것은 가능합니다.

echo (3 + 5) * 2; // Çıktı: 16

위 프로세스에서 출력은 16이 됩니다. 왜냐하면 우리는 괄호 안에 추가 프로세스를 배치하여 우선순위를 지정했기 때문입니다. 따라서 먼저 덧셈을 수행한 다음 곱셈을 수행했습니다. 이것이 우리가 거래 우선순위에 개입한 방법입니다.

운영자 우선순위 테이블

아래 표에는 연산자가 가장 높은 우선순위부터 가장 낮은 우선순위 순으로 나열되어 있습니다. 같은 회선에 있는 운영자는 동일한 우선순위를 가지며 처리 순서는 평가 중에 결정됩니다. 아래에는 PHP의 모든 연산자에 대한 우선순위 테이블이 포함되어 있습니다.

속성운영자
(없음)clone new
(없음)**
오른쪽에서+ - ++ -- ~ (int) (float) (string) (array) (object) (bool) @
왼쪽에서instanceof
(없음)!
왼쪽에서* / %
왼쪽에서+ - .
왼쪽에서<< >>
왼쪽에서.
방향이 없는< <= > >=
방향이 없는== != === !== <> <=>
왼쪽&
왼쪽에서^
왼쪽에서|
왼쪽에서&&
왼쪽에서||
맞아??
방향이 없는? :
오른쪽에서= += -= *= **= /= .= %= &= |= ^= <<= >>= ??=
(없음)yield from
(없음)yield
(없음)print
왼쪽에서and
왼쪽에서xor
왼쪽에서or

이 표는 php.net에서 가져온 것입니다. 출처: https://www.php.net/manual/tr/language.operators.precedence.php