কম্পিউটার

পিএইচপি-তে অবজেক্টকে অ্যারেতে রূপান্তর করুন।


একটি PHP অ্যাপ্লিকেশনে, আমরা স্ট্রিং, অ্যারে, অবজেক্ট বা আরও অনেক কিছুর মতো বিভিন্ন ফর্ম্যাটে ডেটা নিয়ে কাজ করছি... একটি রিয়েল-টাইম অ্যাপ্লিকেশনে, আমাদের পেতে একটি সহযোগী অ্যারের আকারে একটি php অবজেক্টের ফলাফল পড়তে হতে পারে পছন্দসই আউটপুট।

তাই আমরা এখানে আলোচনা করব কিভাবে একটি php অবজেক্টকে PHP-তে একটি সহযোগী অ্যারেতে রূপান্তর করা যায়।

আসুন ব্যাখ্যা করি পিএইচপি-তে একটি অবজেক্ট এবং অ্যাসোসিয়েটিভ অ্যারে কী? একটি অবজেক্ট হল একটি ক্লাসের একটি উদাহরণ যার মানে একটি ক্লাস থেকে আপনি অনেকগুলি অবজেক্ট তৈরি করতে পারেন। এটি কেবল একটি শ্রেণীর একটি নমুনা এবং মেমরি বরাদ্দ আছে। অন্যদিকে একটি অ্যারে যা সূচক হিসাবে স্ট্রিং নিয়ে গঠিত তাকে অ্যাসোসিয়েটিভ অ্যারে বলা হয়। এটিতে একটি কী-মানের জোড়া রয়েছে, যার মধ্যে মানগুলি তাদের নিজ নিজ কীগুলির সাথে যুক্ত থাকে৷

এখন অবজেক্টকে অ্যারেতে রূপান্তর করার বিভিন্ন পদ্ধতি নিয়ে আলোচনা করা যাক।

পদ্ধতি1:

json_decode এবং json_encode কৌশল ব্যবহার করা:

প্রাথমিকভাবে json_encode() ফাংশন একটি প্রদত্ত মানের জন্য একটি JSON এনকোড করা স্ট্রিং প্রদান করে৷ json_decode() ফাংশন এটির উপর একটি PHP অ্যারেতে পরিবর্তিত হয়৷

উদাহরণ:

<?php
   class student {
      public function __construct($firstname, $lastname) {
         $this->firstname = $firstname;
         $this->lastname = $lastname;
      }
   }
   $myObj = new student("Alex", "Stokes");
   echo "Before conversion:".'</br>';
   var_dump($myObj);
   $myArray = json_decode(json_encode($myObj), true);
   echo "After conversion:".'</br>';
   var_dump($myArray);
?>

আউটপুট:

Before conversion:
object(student)#1 (2) { ["firstname"]=> string(4) "Alex" ["lastname"]=> string(6) "Stokes" }
After conversion:
array(2) { ["firstname"]=> string(4) "Alex" ["lastname"]=> string(6) "Stokes" }

ব্যাখ্যা:

এখানে আমরা একটি ক্লাস স্টুডেন্ট তৈরি করেছি এবং সেই ক্লাসের ভিতরে, আমরা একটি __construct() ফাংশন ঘোষণা করেছি, যা অবজেক্ট তৈরি করার সময় কার্যকর করা হয়। কনস্ট্রাক্টর আর্গুমেন্ট পায় যা পরে নতুন কীওয়ার্ডের সাহায্যে অবজেক্ট তৈরি করার সময় দেওয়া হয়। প্রথম var_dump() এক্সপ্রেশনে আমরা অবজেক্টটি প্রিন্ট করছি, কিন্তু দ্বিতীয় ক্ষেত্রে, আমরা json_decode এবং json_encode কৌশলের সাহায্যে অবজেক্টটিকে একটি অ্যারেতে রূপান্তর করছি।

পদ্ধতি 2:

টাইপকাস্টিং কৌশলের মাধ্যমে একটি বস্তুকে অ্যারেতে রূপান্তর করা:

টাইপকাস্টিং হল একটি ডেটা টাইপ ভেরিয়েবলকে বিভিন্ন ডেটা টাইপের মধ্যে ব্যবহার করার পদ্ধতি এবং এটি কেবলমাত্র একটি ডেটাটাইপের সঠিক রূপান্তর।

<?php
   class bag {
      public function __construct( $item1, $item2, $item3){
         $this->item1 = $item1;
         $this->item2 =$item2;
         $this->item3 = $item3;
      }
   }
   $myBag = new bag("Books", "Ball", "Pens");
   echo "Before conversion :".'</br>';
   var_dump($myBag);
   $myBagArray = (array)$myBag;
   echo "After conversion :".'</br>';
   var_dump($myBagArray);
?>

আউটপুট:

Before conversion :
object(bag)#1 (3) { ["item1"]=> string(5) "Books" ["item2"]=> string(4) "Ball" ["item3"]=> string(4) "Pens" }
After conversion:
array(3) { ["item1"]=> string(5) "Books" ["item2"]=> string(4) "Ball" ["item3"]=> string(4) "Pens" }

ব্যাখ্যা:

এখানে আমরা একটি ক্লাস "ব্যাগ" তৈরি করেছি এবং সেই ক্লাসের ভিতরে, আমরা একটি __construct() ফাংশন ঘোষণা করেছি, যা অবজেক্ট তৈরি করার সময় কার্যকর করা হয়। নতুন কীওয়ার্ডের সাহায্যে অবজেক্ট তৈরি করার সময় কনস্ট্রাক্টর আর্গুমেন্টগুলি পায় যা পরে দেওয়া হয়। প্রথম var_dump() এক্সপ্রেশনে, আমরা কেবল অবজেক্টটি প্রিন্ট করছি, কিন্তু দ্বিতীয় ক্ষেত্রে, আমরা টাইপ-হিন্টিং পদ্ধতির সাহায্যে অবজেক্টটিকে একটি অ্যারেতে টাইপ-ইন্টিং করছি।


  1. কিভাবে পিএইচপিতে একটি অ্যারেকে SimpleXML এ রূপান্তর করবেন?

  2. কিভাবে পিএইচপি-তে এক্সএমএল ফাইলকে অ্যারেতে রূপান্তর করবেন?

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

  4. কিভাবে বাইট অ্যারেকে C# এ একটি অবজেক্ট স্ট্রীমে রূপান্তর করবেন?