एक PHP एप्लिकेशन में, हम स्ट्रिंग, ऐरे, ऑब्जेक्ट्स या अधिक जैसे विभिन्न फॉर्मेट्स में डेटा के साथ काम कर रहे हैं। एक रियल-टाइम एप्लिकेशन में, हमें वांछित आउटपुट प्राप्त करने के लिए 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:".'
';
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 तकनीक की मदद से ऑब्जेक्ट को ऐरे में कन्वर्ट कर रहे हैं।
विधि 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 :".'
';
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() एक्सप्रेशन में, हम केवल ऑब्जेक्ट प्रिंट कर रहे हैं, लेकिन दूसरे मामले में, हम टाइप-हिंटिंग प्रक्रिया की मदद से ऑब्जेक्ट को ऐरे में टाइप-हिंट कर रहे हैं।