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

PHP অ্যারে সংরক্ষণ: json_encode নাকি serialize - কোনটি পছন্দনীয়?


এটি প্রয়োজনীয়তা নির্ভর করে।

JSON, PHP সিরিয়ালাইজেশনের চেয়ে দ্রুত, εκτerton নিচের শর্তগুলো পূরণ না হয়:

  • গভীর নেস্টেড অ্যারে সংরক্ষণ করা হয়।
  • সংরক্ষিত অবজেক্টগুলোকে সঠিক ক্লাসে আনসিরিয়ালাইজ করতে হয়।
  • json_decode সাপোর্ট না করে এমন পুরনো PHP ভার্সনের সাথে ইন্টারঅ্যাকশন হয়।

PHP অ্যারে json_encode দিয়ে সংরক্ষণের জন্য নিচের লাইনটি ব্যবহার করা যায়:

json_encode($array, JSON_UNESCAPED_UNICODE)

JSON অবজেক্টের মূল ক্লাস কোথাও সংরক্ষণ করে না, কিন্তু এটি stdClass এর ক্লাস ইন্সট্যান্স হিসেবে রিস্টোর করা যায়।

কেন serialize-এর পরিবর্তে json_encode ব্যবহার করব?

  • JSON, serialize-এর চেয়ে অনেক বেশি পোর্টেবল।
  • __sleep() এবং __wakeup() ফিচারগুলো JSON-এ লিভারেজ করা যায় না।
  • ডিফল্টলি পাবলিক প্রপার্টিগুলো JSON-এ সিরিয়ালাইজ হয়। (PHP ভার্সন >= 5.4 হলে JsonSerializable ইমপ্লিমেন্ট করে বিহেভিয়ার চেঞ্জ করা যায়)।

উদাহরণ

<?php    // অ্যারে ডিক্লেয়ার করা হয়    $value = array(       "name"=>"name_me",       "email"=>"myemail.com"    );    // json_encode() ফাংশন ব্যবহার করা হয়    $json = json_encode($value);    // আউটপুট ডিসপ্লে    echo($json); ?>

আউটপুট

এটি নিচের আউটপুটটি দেবে:

{"name":"name_me","email":"myemail.com"}

  1. জাভাস্ক্রিপ্ট JSON.parse() মেথড

  2. জাভাস্ক্রিপ্ট JSON অ্যারে

  3. PHP-এ call_user_method_array() ফাংশন

  4. C#-এ Array.TrueForAll মেথড