PHP Basics · Beginner Level · Chapter 6

PHP Operators क्या है?
Complete Guide in Hindi

PHP Operators की पूरी जानकारी हिंदी में — Arithmetic, Assignment, Comparison, Logical, String, Increment/Decrement, Ternary, Null Coalescing। हर operator real examples के साथ।

➕ Arithmetic ⚖️ Comparison 🔗 Logical ❓ Ternary ⏱️ 10 min read
8+Operator Types
===Strict Comparison (best)
??Null Coalescing (PHP 7+)
?:Ternary Operator

📋 इस Article में क्या-क्या है (Table of Contents)

  1. Operators क्या होते हैं?
  2. Arithmetic Operators
  3. Assignment Operators
  4. Comparison Operators
  5. Logical Operators
  6. String Operators
  7. Increment / Decrement
  8. Ternary & Null Coalescing
  9. Operator Precedence
  10. Quick Reference + FAQ
1
Operators क्या होते हैं?

Operator एक special symbol है जो एक या अधिक values (operands) पर कोई operation perform करता है और result देता है। जैसे गणित में + का मतलब जोड़ना है — PHP में भी operators values पर operations करते हैं।

हर program में operators use होते हैं — calculations के लिए, conditions check करने के लिए, values assign करने के लिए। PHP में 8 से ज़्यादा types के operators हैं, हर एक का अलग काम है।
Operator = वो symbol जो values पर काम करता है। जैसे $a + $b में + operator है, $a और $b operands हैं।
+-*/
Arithmetic

Mathematical calculations

=
Assignment

Value assign करना

==
Comparison

Values compare करना

&&
Logical

Logic conditions

.
String

Strings जोड़ना

++
Increment

Value बढ़ाना/घटाना

?:
Ternary

Short if-else

??
Null Coalescing

Null check करना


2
Arithmetic Operators — गणितीय Operators
Arithmetic operators वो mathematical operations perform करते हैं जो हम school में सीखते हैं — जोड़, घटाव, गुणा, भाग।
OperatorनामExampleResult
+Addition (जोड़)$a + $b10 + 3 = 13
-Subtraction (घटाव)$a - $b10 - 3 = 7
*Multiplication (गुणा)$a * $b10 * 3 = 30
/Division (भाग)$a / $b10 / 3 = 3.333
%Modulus (शेषफल)$a % $b10 % 3 = 1
**Exponentiation (घात)$a ** $b2 ** 8 = 256
ARITHMETIC OPERATORS — Examples
<?php
$a = 10;
$b = 3;

echo $a + $b; // 13 — जोड़
echo $a - $b; // 7 — घटाव
echo $a * $b; // 30 — गुणा
echo $a / $b; // 3.333 — भाग
echo $a % $b; // 1 — शेषफल (10 को 3 से भाग देने पर)
echo 2 ** 8; // 256 — 2 की power 8

// Real World — GST calculate करना
$price = 1000;
$gstRate = 18;
$gst = $price * $gstRate / 100;
$total = $price + $gst;
echo "Total: ₹" . $total; // Total: ₹1180
?>
💡 Modulus का use: % operator बहुत useful है — even/odd check करने के लिए $num % 2 == 0 even है। Loop में हर Nth item highlight करने के लिए $i % 3 == 0

3
Assignment Operators — Value Assign करना
Assignment operators variable को value assign करते हैं। Basic = के अलावा combined operators होते हैं जो operation और assignment दोनों एक साथ करते हैं।
OperatorExampleयह बराबर हैकाम
=$a = 10;$a = 10Value assign करना
+=$a += 5;$a = $a + 5जोड़ कर assign
-=$a -= 3;$a = $a - 3घटा कर assign
*=$a *= 2;$a = $a * 2गुणा कर assign
/=$a /= 4;$a = $a / 4भाग देकर assign
%=$a %= 3;$a = $a % 3Modulus assign
**=$a **= 2;$a = $a ** 2Power assign
.=$s .= "Hi";$s = $s . "Hi"String जोड़ कर assign
ASSIGNMENT OPERATORS — Examples
<?php
$score = 50; // Basic assignment

$score += 10; // $score = 60 (bonus points)
$score -= 5; // $score = 55 (penalty)
$score *= 2; // $score = 110 (double score)
$score /= 2; // $score = 55 (half)
$score %= 10; // $score = 5

// .= String concatenation assignment
$msg = "नमस्ते";
$msg .= " Rahul"; // "नमस्ते Rahul"
$msg .= "!"; // "नमस्ते Rahul!"
echo $msg;
?>
Shorthand operators: $a += 5 को $a = $a + 5 लिखने की ज़रूरत नहीं। यह code को shorter और readable बनाता है। Professional PHP code में यही style use होता है।

4
Comparison Operators — Values Compare करना
Comparison operators दो values को compare करते हैं और true या false return करते हैं। if-else conditions में इनका सबसे ज़्यादा use होता है।
OperatorनामExampleResult
==Equal (loose)5 == "5"true (type ignore)
===Identical (strict)5 === "5"false (type check)
!=Not Equal5 != 3true
!==Not Identical5 !== "5"true (type different)
<Less Than3 < 5true
>Greater Than5 > 3true
<=Less Than or Equal5 <= 5true
>=Greater Than or Equal6 >= 5true
<=>Spaceship (PHP 7+)5 <=> 31 (left बड़ा)
== vs === — सबसे Important Difference
<?php
$a = 5; // integer
$b = "5"; // string

// == (loose) — सिर्फ value check करता है
var_dump($a == $b); // bool(true) — PHP type convert करता है
var_dump(0 == "abc"); // bool(true) — DANGEROUS!
var_dump(false == ""); // bool(true) — DANGEROUS!

// === (strict) — value और type दोनों check करता है
var_dump($a === $b); // bool(false) — int != string ✅
var_dump(5 === 5); // bool(true) — same type, same value ✅

// Spaceship operator <=> (PHP 7+) — sorting के लिए
echo 5 <=> 3; // 1 (left बड़ा)
echo 3 <=> 5; // -1 (right बड़ा)
echo 5 <=> 5; // 0 (equal)
?>
⚠️ == का बड़ा trap: PHP में 0 == "abc" → true होता है क्योंकि PHP "abc" को 0 में convert करता है। यह unexpected bugs का सबसे बड़ा source है। हमेशा === use करो।

5
Logical Operators — Logic Conditions
Logical operators multiple conditions को combine करते हैं। Login check, permission system, form validation — हर जगह logical operators use होते हैं।
OperatorAlternativeनामResult
&&andAND — दोनों true होंtrue सिर्फ तब जब दोनों true
||orOR — कोई एक true होtrue अगर कोई एक भी true
!notNOT — उल्टा करेtrue को false, false को true
xorXOR — एक true एक falsetrue सिर्फ तब जब एक true एक false
LOGICAL OPERATORS — Real World Examples
<?php
$isLoggedIn = true;
$isAdmin = false;
$age = 20;

// && (AND) — दोनों conditions true होनी चाहिए
if ($isLoggedIn && $isAdmin) {
  echo "Admin Dashboard"; // नहीं चलेगा
}

// || (OR) — कोई एक condition true हो
if ($isLoggedIn || $isAdmin) {
  echo "Welcome!"; // चलेगा — $isLoggedIn true है
}

// ! (NOT) — condition को उल्टा करे
if (!$isAdmin) {
  echo "आप admin नहीं हैं"; // चलेगा
}

// Combined — multiple conditions
if ($isLoggedIn && $age >= 18 && !$isAdmin) {
  echo "Regular User Access";
}
?>

✅ && और || prefer करो

if ($a && $b) { }
if ($a || $b) { }

// High precedence — predictable

⚠️ and / or — Precedence issue

$x = true and false;
// $x = true (! not false)
// = से पहले evaluate होता है
// Confusing bugs आते हैं
💡 Short-circuit Evaluation: PHP && में अगर पहली condition false है तो दूसरी check नहीं करता। || में अगर पहली true है तो दूसरी skip। यह performance के लिए अच्छा है और null pointer errors से बचाता है।

6
String Operators — Strings जोड़ना
PHP में strings को जोड़ने के लिए dot (.) operator use होता है — JavaScript के + जैसा नहीं। PHP में + numeric addition के लिए है, string joining के लिए नहीं।
.
Concatenation

दो strings को जोड़ता है। "Hello" . " World" → "Hello World"

.=
Concatenation Assignment

String में और text add करता है। $s .= " more" — existing string में append।

STRING OPERATORS — Examples
<?php
$first = "Rahul";
$last = "Kumar";
$city = "Delhi";

// . (dot) — string concatenation
$fullName = $first . " " . $last;
echo $fullName; // Rahul Kumar

// .= — append करना
$address = "घर नंबर 5";
$address .= ", " . $city; // "घर नंबर 5, Delhi"
$address .= ", India"; // "घर नंबर 5, Delhi, India"
echo $address;

// HTML generate करने में use
$html = "<h1>" . $fullName . "</h1>";
$html .= "<p>शहर: " . $city . "</p>";
echo $html;
?>

7
Increment / Decrement Operators
ये operators variable की value को 1 से बढ़ाते या घटाते हैं। Loops में counter के लिए सबसे ज़्यादा use होते हैं।
OperatorनामExampleकाम
++$aPre-incrementecho ++$a;पहले बढ़ाओ, फिर use करो
$a++Post-incrementecho $a++;पहले use करो, फिर बढ़ाओ
--$aPre-decrementecho --$a;पहले घटाओ, फिर use करो
$a--Post-decrementecho $a--;पहले use करो, फिर घटाओ
PRE vs POST INCREMENT — फर्क समझो
<?php
$a = 5;

// Pre-increment — पहले बढ़ाओ, फिर echo करो
echo ++$a; // 6 (पहले $a = 6, फिर print)

$a = 5; // reset
// Post-increment — पहले echo करो, फिर बढ़ाओ
echo $a++; // 5 (पहले print, फिर $a = 6)
echo $a; // 6 (अब 6 है)

// Loop में use — सबसे common
for ($i = 1; $i <= 5; $i++) {
  echo $i . " "; // 1 2 3 4 5
}

// Lives घटाना — game example
$lives = 3;
$lives--; // $lives = 2
echo "बचे हुए lives: " . $lives;
?>
💡 Simple Rule: ज़्यादातर cases में pre vs post का कोई practical फर्क नहीं पड़ता — जैसे loop counter में $i++ और ++$i same result देते हैं। फर्क तब पड़ता है जब increment को expression के अंदर use करते हैं।

8
Ternary & Null Coalescing Operators
यह दोनों operators short if-else लिखने का तरीका हैं — code कम और readable ज़्यादा।
? :
Ternary Operator

Condition ? true_value : false_value — एक line में if-else। PHP 5 से available।

?:
Elvis Operator

Short ternary — value ?: default। अगर value truthy है तो value, वरना default।

??
Null Coalescing

value ?? default — अगर null/undefined नहीं है तो value, वरना default। PHP 7+।

??=
Null Coalescing Assignment

$a ??= default — अगर $a null है तो default assign करो। PHP 7.4+।

TERNARY OPERATOR — Examples
<?php
$age = 20;

// Normal if-else
if ($age >= 18) {
  $status = "Adult";
} else {
  $status = "Minor";
}

// Ternary — same काम एक line में
$status = $age >= 18 ? "Adult" : "Minor";
echo $status; // Adult

// Ternary — HTML में use
$isLoggedIn = true;
echo "<h2>" . ($isLoggedIn ? "Welcome Back!" : "Please Login") . "</h2>";
?>
NULL COALESCING — PHP 7+ Game Changer
<?php
// Old way — isset() check करना पड़ता था
$name = isset($_GET['name']) ? $_GET['name'] : 'Guest';

// PHP 7+ way — ?? much cleaner!
$name = $_GET['name'] ?? 'Guest';

// Chaining ?? — multiple fallbacks
$theme = $user['theme'] ?? $default['theme'] ?? 'light';

// ??= (PHP 7.4+) — assign if null
$config['timeout'] ??= 30; // अगर null है तो 30 set करो
$config['retries'] ??= 3;

// Elvis Operator ?: — falsy check
$username = "";
echo $username ?: "Anonymous"; // Anonymous (empty string = falsy)
?>
?? vs ?: ?? सिर्फ null और undefined check करता है — 0, false, "" को falsy नहीं मानता। ?: Elvis operator falsy values (0, false, "", null) सब पर default देता है। Choose accordingly।

9
Operator Precedence — Priority Order

Operator Precedence बताता है कि जब एक expression में multiple operators हों तो कौन पहले evaluate होगा। जैसे math में × का ÷ से पहले और + से पहले होता है।

PriorityOperatorsNote
सबसे ऊँची( )Parentheses — हमेशा पहले
**Exponentiation
++ -- !Unary operators
* / %Multiplication, Division, Modulus
+ - .Addition, Subtraction, Concatenation
< <= > >=Comparison
== != === !==Equality
&&Logical AND
||Logical OR
??Null Coalescing
? :Ternary
सबसे नीची= += -= .=Assignment operators
PRECEDENCE — Examples
<?php
// गणित जैसा — * पहले, + बाद में
echo 2 + 3 * 4; // 14 (3*4=12, फिर 2+12)
echo (2 + 3) * 4; // 20 (2+3=5, फिर 5*4)

// && && || — && पहले evaluate होता है
$result = true || false && false;
// false && false = false, फिर true || false = true
var_dump($result); // bool(true)

// Confusing? — Parentheses use करो!
$result = (true || false) && false;
var_dump($result); // bool(false)
?>
💡 Golden Rule: Precedence याद रखने से बेहतर है parentheses use करो($a + $b) * $c लिखना ज़्यादा safe और readable है। Complex expressions में हमेशा brackets लगाओ।

10
Quick Reference — Operators एक नज़र में
OperatorTypeExampleResult
+Arithmetic10 + 313
%Arithmetic10 % 31 (remainder)
**Arithmetic2 ** 8256
+=Assignment$a += 5$a = $a + 5
.=Assignment$s .= "Hi"String append
==Comparison5 == "5"true (loose)
===Comparison5 === "5"false (strict)
<=>Comparison5 <=> 31
&&Logicaltrue && falsefalse
||Logicaltrue || falsetrue
!Logical!truefalse
.String"Hi" . " Bye""Hi Bye"
++Increment$a++Post-increment
?:Ternary$a > 0 ? "yes" : "no"Inline if-else
??Null Coalescing$x ?? "default"Null check

?
अक्सर पूछे जाने वाले सवाल (FAQ)
Q: == और === में practically क्या choose करूँ?
हमेशा === (strict) choose करो — यह type और value दोनों check करता है। == (loose) type juggling करता है जिससे 0 == "abc" → true जैसे unexpected results आते हैं। Modern PHP code में === ही standard है। केवल तभी == use करो जब आप intentionally type-insensitive comparison चाहते हो।
Q: ?? और ?: में क्या फर्क है?
?? (null coalescing) सिर्फ null और undefined variables के लिए है — 0, false, "" को valid मानता है। ?: (Elvis) falsy values के लिए है — 0, false, "", null सब पर default देता है। Form input के लिए ?? बेहतर है — user ने 0 enter किया हो तो उसे replace नहीं करना चाहिए।
Q: PHP में + से strings जोड़ क्यों नहीं होतीं?
PHP में + numeric addition के लिए reserved है। अगर "5" + "3" करो तो PHP दोनों को numbers में convert करके 8 देगा। Strings जोड़ने के लिए dot (.) operator है। यह JavaScript से अलग है जहाँ + दोनों काम करता है। PHP का यह design explicit और less ambiguous है।
Q: Spaceship operator <=> का practical use क्या है?
Spaceship operator usort() और uasort() में sorting के लिए बहुत useful है। जैसे: usort($arr, fn($a, $b) => $a['price'] <=> $b['price']); — यह array को price के हिसाब से sort करेगा। -1, 0, 1 return करता है जो sorting functions को exactly चाहिए।
Q: Ternary operator को nest कर सकते हैं?
PHP 8 में nested ternary deprecate हो गया है। $a ? $b : $c ? $d : $e — यह PHP में left-associative था जो confusing था। PHP 8 में यह error देगा। अगर complex conditions हैं तो if-elseif-else use करो, या match expression (PHP 8) जो ternary से ज़्यादा readable है।
Q: $a++ और ++$a में practically कब फर्क पड़ता है?
जब increment result को immediately use करते हो तब फर्क पड़ता है। $b = $a++ में $b को $a की पुरानी value मिलती है। $b = ++$a में $b को बढ़ी हुई value मिलती है। Loop counters में (for, while) दोनों same काम करते हैं — वहाँ कोई practical फर्क नहीं।

निष्कर्ष (Conclusion)

PHP Operators programming की vocabulary हैं — इनके बिना कोई भी meaningful program नहीं बन सकता। Calculations, comparisons, conditions, string manipulation — सब operators से होता है।

हमेशा === use करो == की जगह — type juggling bugs से बचाएगा।

?? operator PHP 7+ का सबसे useful addition है — null checks clean होते हैं।

Ternary simple if-else को एक line में लिखता है — but complex logic के लिए if-else better है।

&& और || prefer करो and/or की जगह — precedence issues से बचाएगा।

Parentheses use करो complex expressions में — precedence याद रखने से बेहतर है।

. (dot) operator strings जोड़ने के लिए — PHP में + numeric addition के लिए है।

🚀 अगला कदम: Operators clear हो गए? अब अगले chapter में PHP Strings सीखें — String functions, strlen, strtoupper, str_replace, substr, और बहुत कुछ। PHP में text manipulation की पूरी जानकारी।