एक 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:".'</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() एक्सप्रेशन में, हम केवल ऑब्जेक्ट को प्रिंट कर रहे हैं, लेकिन दूसरे मामले में, हम टाइप-हिंटिंग प्रक्रिया की मदद से ऑब्जेक्ट को एक ऐरे में टाइप-हिंट कर रहे हैं।