কম্পিউটার

PHP 7-এ অভিন্ন পরিবর্তনশীল সিনট্যাক্স


PHP-এর পুরানো সংস্করণগুলিতে, আমরা একটি অসঙ্গতি সমস্যার সম্মুখীন হয়েছি৷ যেমন:${$first [‘name’]}। এই সিনট্যাক্স বিভ্রান্তি তৈরি করতে পারে বা আমরা বলতে পারি যে সিনট্যাক্স সামঞ্জস্যপূর্ণ নয়। অসংগতি সমস্যা কাটিয়ে ওঠার জন্য, PHP 7 নতুন সিনট্যাক্স যোগ করেছে যার নাম "ইউনিফর্ম ভেরিয়েবল সিনট্যাক্স"।

ইউনিফর্ম ভেরিয়েবল সিনট্যাক্স বাম থেকে ডানে ভেরিয়েবলের মূল্যায়ন করে। ইউনিফর্ম ভেরিয়েবল সিনট্যাক্স ব্যবহার করার জন্য আমাদের কোঁকড়া বন্ধনী যোগ করতে হবে। উদাহরণস্বরূপ,

echo ${$first[‘name’]};

অভিন্ন পরিবর্তনশীল সিনট্যাক্স অপারেটরগুলির সংমিশ্রণকে অনুমতি দেয় এবং এটি কিছু অভিব্যক্তিতে পিছনের সামঞ্জস্যকে ভেঙে দিতে পারে যেখানেই পুরানো মূল্যায়ন ব্যবহার করা হয়৷

উদাহরণ

<?php
   $x = (function() {
      return 20 - 10;
      })
   ();
   echo "$x\n";
?>

আউটপুট

উপরের পিএইচপি প্রোগ্রামের আউটপুট হবে:

10

দ্রষ্টব্য: উপরের প্রোগ্রামটি অবিলম্বে ফাংশন এক্সপ্রেশনকে আহ্বান করবে।

অভিন্ন পরিবর্তনশীল সিনট্যাক্স বিদ্যমান সিনট্যাক্সের নতুন সমন্বয় ব্যবহার করে। উদাহরণস্বরূপ,

$foo([‘bar’])();

ইউনিফর্ম ভেরিয়েবল সিনট্যাক্স ফাংশন দ্বারা প্রত্যাবর্তিত স্ট্রিংগুলির অক্ষরগুলিকে ডিরেফারেন্স করতে পারে৷

[$obj, $obj1] [0]->pro;

কিছু ক্ষেত্রে, PHP 7 নেস্টেড ডাবল কোলন(::),

সমর্থন করে
$foo[‘bar’]::$baz;

নেস্টেড মেথড/ফাংশন কল

বন্ধনী দ্বিগুণ করার জন্য আমরা নেস্টেড পদ্ধতি এবং ফাংশন কল বা যেকোনো কলযোগ্য ব্যবহার করতে পারি।

উদাহরণ

foo()(); //return by a function callable
$foo->bar()(); // return by an instance method
Foo::bar()(); // static method
$foo()(); // return by another callable

স্বেচ্ছাচারী এক্সপ্রেশন ডিরেফারেন্সিং

পিএইচপি-তে আমরা এখন বন্ধনী সহ যেকোনো বৈধ অভিব্যক্তিকে ডিরেফার করতে পারি। উদাহরণস্বরূপ,

(exp) [‘foo’] ; // It will access an array key
(exp)->foo; // This will access the property
(exp)->foo(); // It will call to a method etc.

উদাহরণ

<?php
   function emp() {
      echo "This is emp() \n";
   };
   function dept() {
      echo "This is dept() \n";
      return emp;
   };
   function sub() {
      echo "This is sub()\n";
      return dept;
   };
   sub();
   echo "----------------\n";
   sub()();
   echo "----------------\n";
   sub()()();
?>

আউটপুট

উপরের প্রোগ্রামের আউটপুট হবে −

This is sub()
-------------
This is sub()
This is dept()
-------------
This is sub()
This is dept()
This is emp()

  1. PHP ভেরিয়েবল "11:00 AM" কে MySQL টাইম ফরম্যাটে রূপান্তর করবেন?

  2. কিভাবে PHP এ একটি স্ট্রিং হিসাবে একটি পরিবর্তনশীল নাম পেতে?

  3. PHP-তে filter_input() ফাংশন

  4. PHP-তে extract() ফাংশন