Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> PHP

PHP में ^ (XOR) बिटवाइज़ ऑपरेटर का महत्व

PHP में ^ ऑपरेटर **बिटवाइज़ XOR (एक्सक्लूसिव OR)** ऑपरेटर है। यह दो पूर्णांकों के बाइनरी प्रतिनिधित्व पर बिट-दर-बिट XOR ऑपरेशन करता है।

XOR सत्यता तालिका

बिट Aबिट BA ^ B
000
011
101
110

नियम: बिट्स अलग हों तो 1, समान हों तो 0।

दिया गया उदाहरण (चर स्वैपिंग)

<?php
$x = "a";
$y = "b";
$x ^= $y;
$y ^= $x;
$x ^= $y;
echo $x; // b
echo "\n";
echo $y; // a
?>

आउटपुट

b
a

यह कैसे काम करता है (XOR स्वैप एल्गोरिदम):

  1. $x ^= $y → $x = $x ^ $y (अब $x में संयुक्त जानकारी)
  2. $y ^= $x → $y = $y ^ ($x ^ $y) = $x (मूल $x)
  3. $x ^= $y → $x = ($x ^ $y) ^ $x = $y (मूल $y)

नोट: यह स्ट्रिंग्स पर काम करता है क्योंकि PHP स्ट्रिंग्स पर बिटवाइज़ ऑपरेटर्स को बाइट-दर-बाइट लागू करता है।

व्यावहारिक उपयोग

1. फ्लैग्स/बिटमास्क प्रबंधन

<?php
const READ = 1;    // 0001
const WRITE = 2;   // 0010
const EXECUTE = 4; // 0100

$permissions = READ | WRITE; // 0011 (3)
$permissions ^= WRITE;       // WRITE टॉगल: 0001 (READ बचा)
$permissions ^= EXECUTE;     // EXECUTE जोड़ें: 0101 (READ|EXECUTE)
?>

2. सरल एन्क्रिप्शन/ऑबफस्केशन

<?php
function xor_cipher($data, $key) {
    $out = '';
    for ($i = 0; $i < strlen($data); $i++) {
        $out .= $data[$i] ^ $key[$i % strlen($key)];
    }
    return $out;
}
$encrypted = xor_cipher("Secret", "key");
$decrypted = xor_cipher($encrypted, "key"); // समान ऑपरेशन डिक्रिप्ट करता है
?>

3. दो मानों में अंतर ढूंढना

<?php
$a = 10; // 1010
$b = 6;  // 0110
$diff = $a ^ $b; // 1100 (12) - बिट्स जो अलग हैं
?>

अन्य बिटवाइज़ ऑपरेटर्स

ऑपरेटरनामउदाहरण
&ANDदोनों 1 तो 1
|ORकोई 1 तो 1
~NOTबिट्स उलटे
<<बाएं शिफ्टबिट्स बाएं
>>दाएं शिफ्टबिट्स दाएं
  1. विश ऐप क्या है? विश ऐप क्या है?

    विश ऐप सबसे अधिक चर्चित शॉपिंग ऐप्स में से एक है। डेस्कटॉप के साथ-साथ एंड्रॉइड और आईफोन के लिए उपलब्ध, विश एक ई-कॉमर्स ऐप है जिसने अपनी नाटकीय रूप से कम कीमतों के कारण ग्राहकों का ध्यान आकर्षित किया है। उद्योग में कंपनी के मूल्यांकन और फंडिंग को लेकर भी काफी ध्यान दिया गया है। इस सारी चर्चा को देखते

  1. 10.0.0.1 IP एड्रेस क्या है? 10.0.0.1 IP एड्रेस क्या है?

    10.0.0.1 IP एड्रेस एक निजी IP एड्रेस है जिसका उपयोग क्लाइंट डिवाइस पर किया जा सकता है या किसी नेटवर्क हार्डवेयर को उसके डिफ़ॉल्ट IP एड्रेस के रूप में असाइन किया जा सकता है। 10.0.0.1 क्या है? 10.0.0.1 आमतौर पर व्यावसायिक कंप्यूटर नेटवर्क में देखा जाता है, जबकि घरेलू नेटवर्क में राउटर सामान्यतः 192.1

  1. MySQL UNHEX() का PHP समकक्ष: hex2bin() MySQL UNHEX() का PHP समकक्ष: hex2bin()

    PHP में hex2bin() फ़ंक्शन MySQL के UNHEX() फ़ंक्शन का PHP समकक्ष hex2bin() फ़ंक्शन है (PHP 5.4.0+ में उपलब्ध)। PHP सिंटैक्स $variable = hex2bin(yourHexadecimalValue); PHP कोड उदाहरण $myFirstValue = hex2bin(7777772E4D7953514C4578616D706C652E636F6D); var_dump($myFirstValue); $mySecondValue = hex2bi