PHP Variable পর্ব-৩: PHP Variable Variables কি ?

এই পর্বে আপনি জানতে পারবেন :

PHP Variable Variables কি

PHP Variable Variables
PHP Variable Variables

যখন একটি Variable এর value হিসেবে অন্য আরেকটি Variable এর নামকে সংরক্ষণ করে, PHP এর পরিভাষায় এটাকে বলা হয় Variable Variables, অথবা আমরা বলতে পারি Variable Variables হচ্ছে একটি Variable এর মান ব্যবহার করে অন্য একটি Variable এর নাম ঘোষণা করার পদ্ধতি।। চলুন নিজের উদাহরণ দেখে আরেকটু ভালো ভাবে বুঝে নেয়া যাক :

<?php
$city = 'Dhaka';
?>

Zend Certified PHP Engineering (ZCPE) Course

ব্যাখ্যা: উপরের PHP কোডে আমরা $city নামে একটা সাধারণ Variable ঘোষণা করি , এবং যার Value হচ্ছে Dhaka. এখন $city Variable এর Value, Dhaka কে যদি একটা Variable ($Dhaka) হিসাবে ঘোষণা করতে চাই । তাহলে $city Variable এর সাথে আমাদেরকে অতিরিক্ত $ চিহ্ন জুড়ে দিয়ে কাজটা করতে পারি। নিচের উদাহরণ লক্ষ্য করুন।

<?php
$city = 'Dhaka';
$$city="104 Square Miles";
echo "$city is the capital of Bangladesh<br>"; //Output: Dhaka is the capital of Bangladesh
echo "The size of $city is $Dhaka"; //Output: The size of Dhaka is 104 Square Miles
?>

ব্যাখ্যা: উপরের উদাহরণ লক্ষ্য করলে বুঝতে পারবেন , $Dhaka Variable টি আমাদের আগের $city Variable থেকে এসেছে। আর এর জন্য আমরা $city Variable কে $$city (double dollar sign) দিয়ে লিখেছি। আবার উপরের কোডে “$Dhaka” না লিখে “${$city} ” এভাবেও লিখতে পারেন। নিচের উদাহরণটি লক্ষ্য করুন ।

<?php
$city = 'Dhaka';
$$city="104 Square Miles";
echo "$city is the capital of Bangladesh<br>"; //Output: Dhaka is the capital of Bangladesh
echo "The size of $city is ${$city}"; //Output: The size of Dhaka is 104 Square Miles
?>

আপনি চাইলে এইভাবে আরো অনেক $ চিহ্ন (ডলার sign) ব্যবহার করতে পারেন, নিচের উদাহরণ লক্ষ্য করা যাক :

<?php
  $Bar = "a";
  $Foo = "Bar";
  $World = "Foo";
  $Hello = "World";
  $a = "Hello";

  $a; //Output: Hello
  $$a; //Output: World
  $$$a; //Output: Foo
  $$$$a; //Output: Bar
  $$$$$a; //Output: a

  $$$$$$a; //Output: Hello
  $$$$$$$a; //Output: World

  //... and so on ...//

?>

Zend Certified PHP Engineering (ZCPE) Course

আমরা variable variables কে নিচের উদাহরণের মতো করেও সাজাতে পারি :

<?php
$price_for_monday = 10;
$price_for_tuesday = 20;
$price_for_wednesday = 30;

$today = 'tuesday';

$price_for_today = ${ 'price_for_' . $today};
echo $price_for_today; // will return 20
?>

আরো ভালোভাবে বুঝার সুবিদার্থে নিম্নের উদাহরণটি লক্ষ্য করুন।

ধরা যাক আপনার কিছু input fields সহ একটি form আছে এবং আপনি variable variables ব্যবহার করে সেই fields গুলি থেকে ডেটা retrieve এবং process করতে চান:

<?php
// Simulate form data (in a real application, this would come from the user)
$formFieldNames = ['username', 'email', 'age'];
$formData = [
    'username' => 'john_doe',
    'email' => 'john@example.com',
    'age' => 30
];

// Process the form data using variable variables
foreach ($formFieldNames as $fieldName) {
    // Create a variable variable based on the field name
    $$fieldName = isset($formData[$fieldName]) ? $formData[$fieldName] : '';

    // You now have variables $username, $email, and $age
}

// You can use the variables like this:
echo "Username: $username<br>";
echo "Email: $email<br>";
echo "Age: $age<br>";


এই উদাহরণে, আমাদের কাছে $formFieldNames নামে একটি array রয়েছে , যাতে ফর্ম ফিল্ডগুলির নাম রয়েছে এবং অন্য একটি অ্যারে $formData ইউজারের সাবমিট করা ডেটা রয়েছে (এটি শুধুমাত্র একটি সিমুলেশন; একটি বাস্তব অ্যাপ্লিকেশনে, আপনি এই ডেটা পাবেন একটি ফর্ম সাবমিশন থেকে )।

তারপরে আমরা ফিল্ডের নামগুলি লুপ করি এবং ফিল্ড এর নামের উপর ভিত্তি করে variable variables ($$fieldName) তৈরি করি। এটি আমাদের প্রতিটি ফিল্ডের জন্য dynamically ভেরিয়েবল তৈরি করতে এবং $formData অ্যারে থেকে সেই ভেরিয়েবলগুলিতে মান এসাইন করতে দেয়।

বাস্তব জীবনে এটি তখনি কাজে আসতে পারে যখন আপনার কাছে একটি এমন একটি ডাইনামিক ফর্ম থাকে যার ফিল্ড গুলি পৃথকভাবে প্রসেস করতে চান৷

এখানে একটি আরও জটিল এবং প্রাকটিক্যাল উদাহরণ রয়েছে যা দেখায় যে কীভাবে variable variables গুলি এমন পরিস্থিতিতে ব্যবহার করা যেতে পারে যেখানে আপনি একাধিক object বা entity এর সাথে ডিনামিক্যাললি কাজ করছেন। ধরা যাক আপনার কাছে এমন একটি সিস্টেম আছে যা বিভিন্ন ধরনের প্রোডাক্ট ম্যানেজ করে এবং আপনি তাদের পরিমাণ এবং মূল্যের উপর ভিত্তি করে প্রতিটি ধরনের পণ্যের মোট মূল্য গণনা করতে চান। নিম্নের উদাহরণ লক্ষ্য করুন :

<?php

// Simulated data representing different types of products
$productTypes = ['apple', 'banana', 'orange'];
$productData = [
    'apple' => [
        'quantity' => 10,
        'price' => 0.5
    ],
    'banana' => [
        'quantity' => 5,
        'price' => 0.25
    ],
    'orange' => [
        'quantity' => 8,
        'price' => 0.75
    ]
];

// Calculate the total value for each product type using variable variables
foreach ($productTypes as $productType) {
    // Create variable variables for quantity and price
    $quantityVarName = $productType . '_quantity';
    $priceVarName = $productType . '_price';

    // Assign values using variable variables
    $$quantityVarName = $productData[$productType]['quantity'];
    $$priceVarName = $productData[$productType]['price'];

    // Calculate the total value for each product type
    $totalVarName = $productType . '_total';
    $$totalVarName = $$quantityVarName * $$priceVarName;
}

// Display the total value for each product type
foreach ($productTypes as $productType) {
    $totalVarName = $productType . '_total';
    echo "Total value of $productType: $" . $$totalVarName . "<br>";
}

Output:

Total value of apple: $5
Total value of banana: $1.25
Total value of orange: $6

1.product type এর উপর ভিত্তি করে quantity, price, এবং total values গুলির জন্য ডাইনামিক্যালি variable name সমূহ তৈরি করতে আমরা variable variables ব্যবহার করি।

2.লুপের ভিতরে, আমরা $productData থেকে ক্যালকুলেট করা মানগুলি ব্যবহার করে এই variable variables গুলিতে মান নির্ধারণ করি।

2.আমরা তারপর দ্বিতীয় foreach লুপে variable variables ব্যবহার করে মোট মান প্রদর্শন করি।

আমি মাসুদ আলম, বাংলাদেশের ৩৬ তম Zend Certified Engineer । ২০০৯ সালে কম্পিউটার সাইন্স থেকে বেচেলর ডিগ্রী অর্জন করি। দীর্ঘ ১৫ বছর আমি Winux Soft, SSL Wireless, IBCS-PRIMAX, Max Group, Canadian International Development Agency (CIDA), Care Bangladesh, World Vision, Hellen Keller, Amarbebsha Ltd সহ বিভিন্ন দেশি বিদেশী কোম্পানিতে ডেটা সাইন্স, মেশিন লার্নিং, বিগ ডেটা, ওয়েব ডেভেলপমেন্ট এবং সফটওয়্যার ডেভেলপমেন্ট এর উপর বিভিন্ন লিডিং পজিশন এ চাকরি এবং প্রজেক্ট লিড করি। এছাড়াও বাংলাদেশের ১৮৫ জন জেন্ড সার্টিফাইড ইঞ্জিনিয়ার এর মধ্যে ১২০ এরও অধিক ছাত্র আমার হাতে জেন্ড সার্টিফাইড ইঞ্জিনিয়ার হয়েছেন। বর্তমানে w3programmers ট্রেনিং ইনস্টিটিউট এ PHP এর উপর Professional এবং Advance Zend Certified PHP -8.2 Engineering, Laravel Mastering Course with ReactJS, Python Beginning To Advance with Blockchain, Machine Learning and Data Science, Professional WordPress Plugin Development Beginning to Advance কোর্স করাই। আর অবসর সময়ে w3programmers.com এ ওয়েব টেকনোলজি নিয়ে লেখালেখি করি।

One thought on “PHP Variable পর্ব-৩: PHP Variable Variables কি ?

Leave a Reply