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

PHP में $ और $$ Operator में अंतर


PHP में $ (single dollar) और $$ (double dollar) operators का अलग-अलग उद्देश्य है।

$ Operator - Variable Declaration

Standard variable declaration और access के लिए उपयोग किया जाता है।

<?php
$name = "अमित";      // Variable declaration
$age = 25;           // Integer
$price = 99.99;      // Float
$isActive = true;    // Boolean
$colors = ['लाल', 'नीला']; // Array

echo $name;          // Variable access: अमित
echo $colors[0];     // Array access: लाल

$$ Operator - Variable Variables (Dynamic Variable Names)

Variable के value को दूसरे variable के नाम के रूप में उपयोग करता है।

<?php
$variableName = 'name';
$name = 'अमित';

echo $$variableName; // Output: अमित
// Equivalent to: echo $name;

// Practical example
$prefix = 'user_';
$field = 'email';
${$prefix . $field} = 'amit@example.com';

echo $user_email; // अमित@example.com

दृश्य व्याख्या

CodeMeaningResult
$var = 'hello'$var नाम का variable बनाएं$var = 'hello'
$$var = 'world'$var के value ('hello') नाम का variable बनाएं$hello = 'world'
echo $$var$var के value नाम के variable का value'world'

व्यावहारिक उदाहरण

<?php
// Dynamic form processing
$fields = ['name', 'email', 'phone', 'address'];

foreach ($fields as $field) {
    $varName = 'form_' . $field;
    $$varName = $_POST[$field] ?? '';
}

// Now available as: $form_name, $form_email, $form_phone, $form_address

// Configuration से dynamic variables
$config = [
    'db_host' => 'localhost',
    'db_name' => 'myapp',
    'db_user' => 'admin'
];

foreach ($config as $key => $value) {
    $$key = $value;
}

// Now: $db_host, $db_name, $db_user available

सावधानियां

  • पठनीयता कम करता है - code tracing कठिन होता है
  • Security risk - user input से variable names न बनाएं
  • Debugging कठिन - IDE variable tracking नहीं कर सकते
  • बेहतर विकल्प: Arrays या Objects उपयोग करें

बेहतर विकल्प: Arrays

<?php
// Instead of variable variables
$data = [];
foreach ($fields as $field) {
    $data[$field] = $_POST[$field] ?? '';
}

// Access: $data['name'], $data['email']
// Cleaner, safer, IDE-friendly
  1. - C# में प्रीफिक्स और पोस्टफिक्स ऑपरेटर्स में अंतर

    प्रीफिक्स ऑपरेटर (Prefix) ऑपरेटर वेरिएबल से पहले: ++a, --a। मान पहले बदलता है, फिर एक्सप्रेशन का मान नया मान होता है। उदाहरण using System; class Program { static void Main() { int a = 50, b; Console.WriteLine(++a); // 51 b = a; Console.WriteLine(a); // 51

  1. - पायथन सेट पर ऑपरेटर और मेथड में क्या अंतर है?

    पायथन का सेट ऑब्जेक्ट बिल्ट-इन सेट क्लास को दर्शाता है। यूनियन, इंटरसेक्शन, डिफरेंस और सिमेट्रिक डिफरेंस जैसे विभिन्न सेट ऑपरेशन को संबंधित मेथड को कॉल करके या ऑपरेटर का उपयोग करके किया जा सकता है। मेथड द्वारा यूनियन >>> s1={1,2,3,4,5} >>> s2={4,5,6,7,8} >>> s1.union(s2)

  1. - Python में = और == ऑपरेटर्स में क्या अंतर है?

    Python में `=` सिंबल को असाइनमेंट ऑपरेटर के रूप में परिभाषित किया गया है। इसके बाईं ओर एक वेरिएबल और दाईं ओर एक एक्सप्रेशन की आवश्यकता होती है। दाईं ओर के एक्सप्रेशन का मान बाईं ओर के वेरिएबल को असाइन किया जाता है। एक्सप्रेशन और वेरिएबल का नाम परस्पर विनिमेय नहीं हैं। >>> a = 10 >>&g