আসল প্রশ্নের উত্তর দিতে:
পিএইচপি কেন JSON অবজেক্টকে ক্লাসে পরিণত করে?
এনকোডেড জেএসএনের আউটপুটটি ঘনিষ্ঠভাবে দেখুন, আমি ওপি কিছুটা উদাহরণ দিচ্ছি:
$array = array(
'stuff' => 'things',
'things' => array(
'controller', 'playing card', 'newspaper', 'sand paper', 'monitor', 'tree'
)
);
$arrayEncoded = json_encode($array);
echo $arrayEncoded;
//prints - {"stuff":"things","things":["controller","playing card","newspaper","sand paper","monitor","tree"]}
JSON ফর্ম্যাটটি জাভাস্ক্রিপ্ট ( ECMAScript প্রোগ্রামিং ল্যাঙ্গুয়েজ স্ট্যান্ডার্ড ) হিসাবে একই মানের থেকে উদ্ভূত হয়েছিল এবং আপনি যদি ফর্ম্যাটটি দেখেন তবে এটি জাভাস্ক্রিপ্টের মতো দেখাচ্ছে looks এটি একটি JSON অবজেক্ট ( {}
= অবজেক্ট ) যা "জিনিস" মানের সাথে একটি সম্পত্তি "স্টাফ" রয়েছে এবং এর একটি সম্পত্তি "জিনিস" রয়েছে যার সাথে তার মান একটি স্ট্রিং ( []
= অ্যারে ) হয়।
জেএসএন (জাভাস্ক্রিপ্ট হিসাবে) কেবলমাত্র সূচকযুক্ত অ্যারেগুলি জানে না ia সুতরাং যখন JSON একটি পিএইচপি এসোসিয়েটিভ অ্যারে এনকোড করছে, এর ফলস্বরূপ একটি জেএসওএন স্ট্রিংয়ের ফলে এই অ্যারেটিকে "অবজেক্ট" হিসাবে অন্তর্ভুক্ত করা হবে।
এখন আমরা আবার JSON ব্যবহার করে ডিকোডিং করছি json_decode($arrayEncoded)
। ডিকোড ফাংশনটি জানে না যে এই JSON স্ট্রিংটি কোথা থেকে উত্পন্ন হয়েছে (একটি পিএইচপি অ্যারে) তাই এটি পিএইচপি-তে থাকা একটি অজানা বস্তুকে ডিকোডিং করছে stdClass
। আপনি দেখতে পাবেন, স্ট্রিংগুলির "জিনিসগুলি" অ্যারেটি সূচকযুক্ত পিএইচপি অ্যারেতে ডিকোড হবে।
আরও দেখুন:
'জিনিসগুলির' জন্য https://www.randomlists.com/things ধন্যবাদ