কম্পিউটার টিউটোরিয়াল

PHP-তে অবজেক্টকে অ্যারে কনভার্ট করা

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

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

চলুন ব্যাখ্যা করি অবজেক্ট এবং অ্যাসোসিয়েটিভ অ্যারে PHP-তে কী? একটি অবজেক্ট হলো একটি ক্লাসের ইনস্ট্যান্স অর্থাৎ একই ক্লাস থেকে অনেক অবজেক্ট তৈরি করা যায়। এটি সহজে একটি ক্লাসের নমুনা এবং মেমরি এলোকেটেড থাকে। অন্যদিকে একটি অ্যারে যেটির ইনডেক্স হিসেবে স্ট্রিং ব্যবহার করা হয় সেটিকে অ্যাসোসিয়েটিভ অ্যারে বলা হয়। এতে কী-ভ্যালু পেয়ার থাকে, যেখানে ভ্যালুগুলো তাদের রেসপেক্টিভ কীসহ অ্যাসোসিয়েটেড থাকে।

এখন অবজেক্টকে অ্যারে কনভার্ট করার বিভিন্ন মেথড আলোচনা করি।

মেথড ১:

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:".'
'; var_dump($myObj); $myArray = json_decode(json_encode($myObj), true); echo "After conversion:".'
'; 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" }

ব্যাখ্যা:

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

মেথড ২:

টাইপকাস্টিং টেকনিক দিয়ে অবজেক্টকে অ্যারে কনভার্ট করা:

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

<?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 :".'
'; var_dump($myBag); $myBagArray = (array)$myBag; echo "After conversion :".'
'; 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" }

ব্যাখ্যা:

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

  1. PHP-তে অ্যারেকে SimpleXML-এ কনভার্ট করা

  2. PHP-তে XML ফাইলকে অ্যারে কনভার্ট করা

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

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