PHP Operators क्या है?
Complete Guide in Hindi
PHP Operators की पूरी जानकारी हिंदी में — Arithmetic, Assignment, Comparison, Logical, String, Increment/Decrement, Ternary, Null Coalescing। हर operator real examples के साथ।
📋 इस Article में क्या-क्या है (Table of Contents)
- Operators क्या होते हैं?
- Arithmetic Operators
- Assignment Operators
- Comparison Operators
- Logical Operators
- String Operators
- Increment / Decrement
- Ternary & Null Coalescing
- Operator Precedence
- Quick Reference + FAQ
Operator एक special symbol है जो एक या अधिक values (operands) पर कोई operation perform करता है और result देता है। जैसे गणित में + का मतलब जोड़ना है — PHP में भी operators values पर operations करते हैं।
Arithmetic
Mathematical calculations
Assignment
Value assign करना
Comparison
Values compare करना
Logical
Logic conditions
String
Strings जोड़ना
Increment
Value बढ़ाना/घटाना
Ternary
Short if-else
Null Coalescing
Null check करना
| Operator | नाम | Example | Result |
|---|---|---|---|
| + | Addition (जोड़) | $a + $b | 10 + 3 = 13 |
| - | Subtraction (घटाव) | $a - $b | 10 - 3 = 7 |
| * | Multiplication (गुणा) | $a * $b | 10 * 3 = 30 |
| / | Division (भाग) | $a / $b | 10 / 3 = 3.333 |
| % | Modulus (शेषफल) | $a % $b | 10 % 3 = 1 |
| ** | Exponentiation (घात) | $a ** $b | 2 ** 8 = 256 |
$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
?>
| Operator | Example | यह बराबर है | काम |
|---|---|---|---|
| = | $a = 10; | $a = 10 | Value 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 % 3 | Modulus assign |
| **= | $a **= 2; | $a = $a ** 2 | Power assign |
| .= | $s .= "Hi"; | $s = $s . "Hi" | String जोड़ कर assign |
$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;
?>
| Operator | नाम | Example | Result |
|---|---|---|---|
| == | Equal (loose) | 5 == "5" | true (type ignore) |
| === | Identical (strict) | 5 === "5" | false (type check) |
| != | Not Equal | 5 != 3 | true |
| !== | Not Identical | 5 !== "5" | true (type different) |
| < | Less Than | 3 < 5 | true |
| > | Greater Than | 5 > 3 | true |
| <= | Less Than or Equal | 5 <= 5 | true |
| >= | Greater Than or Equal | 6 >= 5 | true |
| <=> | Spaceship (PHP 7+) | 5 <=> 3 | 1 (left बड़ा) |
$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)
?>
| Operator | Alternative | नाम | Result |
|---|---|---|---|
| && | and | AND — दोनों true हों | true सिर्फ तब जब दोनों true |
| || | or | OR — कोई एक true हो | true अगर कोई एक भी true |
| ! | not | NOT — उल्टा करे | true को false, false को true |
| xor | — | XOR — एक true एक false | true सिर्फ तब जब एक true एक false |
$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) { }
// High precedence — predictable
⚠️ and / or — Precedence issue
// $x = true (! not false)
// = से पहले evaluate होता है
// Confusing bugs आते हैं
Concatenation
दो strings को जोड़ता है। "Hello" . " World" → "Hello World"
Concatenation Assignment
String में और text add करता है। $s .= " more" — existing string में append।
$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;
?>
| Operator | नाम | Example | काम |
|---|---|---|---|
| ++$a | Pre-increment | echo ++$a; | पहले बढ़ाओ, फिर use करो |
| $a++ | Post-increment | echo $a++; | पहले use करो, फिर बढ़ाओ |
| --$a | Pre-decrement | echo --$a; | पहले घटाओ, फिर use करो |
| $a-- | Post-decrement | echo $a--; | पहले use करो, फिर घटाओ |
$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;
?>
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+।
$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>";
?>
// 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)
?>
Operator Precedence बताता है कि जब एक expression में multiple operators हों तो कौन पहले evaluate होगा। जैसे math में × का ÷ से पहले और + से पहले होता है।
| Priority | Operators | Note |
|---|---|---|
| सबसे ऊँची | ( ) | Parentheses — हमेशा पहले |
| ↓ | ** | Exponentiation |
| ↓ | ++ -- ! | Unary operators |
| ↓ | * / % | Multiplication, Division, Modulus |
| ↓ | + - . | Addition, Subtraction, Concatenation |
| ↓ | < <= > >= | Comparison |
| ↓ | == != === !== | Equality |
| ↓ | && | Logical AND |
| ↓ | || | Logical OR |
| ↓ | ?? | Null Coalescing |
| ↓ | ? : | Ternary |
| सबसे नीची | = += -= .= | Assignment operators |
// गणित जैसा — * पहले, + बाद में
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)
?>
| Operator | Type | Example | Result |
|---|---|---|---|
| + | Arithmetic | 10 + 3 | 13 |
| % | Arithmetic | 10 % 3 | 1 (remainder) |
| ** | Arithmetic | 2 ** 8 | 256 |
| += | Assignment | $a += 5 | $a = $a + 5 |
| .= | Assignment | $s .= "Hi" | String append |
| == | Comparison | 5 == "5" | true (loose) |
| === | Comparison | 5 === "5" | false (strict) |
| <=> | Comparison | 5 <=> 3 | 1 |
| && | Logical | true && false | false |
| || | Logical | true || false | true |
| ! | Logical | !true | false |
| . | String | "Hi" . " Bye" | "Hi Bye" |
| ++ | Increment | $a++ | Post-increment |
| ?: | Ternary | $a > 0 ? "yes" : "no" | Inline if-else |
| ?? | Null Coalescing | $x ?? "default" | Null check |
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 के लिए है।