প্রচুর ব্যক্তি আমাকে কীভাবে অনন্য বহুমাত্রিক অ্যারে করবেন তা জিজ্ঞাসা করেছিলেন। আমি আপনার মন্তব্য থেকে রেফারেন্স নিয়েছি এবং এটি আমাকে সাহায্য করে।
সবার আগে, আপনার সমাধানের জন্য @ জেরোমেগামেজ @ ডেভেলারদের ধন্যবাদ। তবে যতবার আমি উত্তরটি দিয়েছি, তারা আমাকে জিজ্ঞাসা করেছিল যে এটি কীভাবে 'সিরিয়ালাইজ' এবং 'আনসিরিয়ালাইজেশন' কাজ করে। এজন্য আমি এর কারণটি আপনার সাথে ভাগ করে নিতে চাই যাতে এটি আরও লোককে এর পিছনে ধারণাটি বুঝতে সহায়তা করে।
আমি ব্যাখ্যা করছি যে আমরা কেন পদক্ষেপে 'সিরিয়ালাইজ' এবং 'আনসিরিয়ালাইজেশন' ব্যবহার করি:
পদক্ষেপ 1: বহুমাত্রিক অ্যারেটিকে এক-মাত্রিক অ্যারেতে রূপান্তর করুন
বহুমাত্রিক অ্যারেটিকে এক-মাত্রিক অ্যারেতে রূপান্তর করতে প্রথমে অ্যারের অভ্যন্তরে সমস্ত উপাদানগুলির (বর্ধিত অ্যারেগুলি সহ) বাইট স্ট্রিম উপস্থাপনা তৈরি করুন। সিরিয়ালাইজ () ফাংশন একটি মানের বাইট স্ট্রিম উপস্থাপনা তৈরি করতে পারে। সমস্ত উপাদানগুলির বাইট স্ট্রিম উপস্থাপনা উত্পন্ন করতে, অ্যারে_ম্যাপ () ফাংশনের ভিতরে সিরিয়ালাইজ () ফাংশনটিকে কলব্যাক ফাংশন হিসাবে কল করুন। বহুমাত্রিক অ্যারে কত স্তর রয়েছে তা নির্ধারণ করেই ফলাফলটি একটি মাত্রিক অ্যারে হবে।
পদক্ষেপ 2: মানগুলি অনন্য করুন
এই এক মাত্রিক অ্যারেটিকে অনন্য করতে, অ্যারে_উনিক () ফাংশনটি ব্যবহার করুন।
পদক্ষেপ 3: এটি বহুমাত্রিক অ্যারেতে ফিরিয়ে দিন
অ্যারেটি যদিও এখন অনন্য, মানগুলি বাইট স্ট্রিম উপস্থাপনের মতো দেখাচ্ছে। এটিকে আবার বহুমাত্রিক অ্যারেতে ফিরতে, আনসিরিয়ালাইজ () ফাংশনটি ব্যবহার করুন।
$input = array_map("unserialize", array_unique(array_map("serialize", $input)));
এই সমস্ত জন্য আবার ধন্যবাদ।