কোনও পোস্ট মেটা সিরিয়ালাইজড অ্যারে থেকে কীভাবে ডেটা বের করা যায়?


23

আমি একটি এক্সএমএল থেকে ডাব্লুপি ডিকোডার স্ক্রিপ্ট পেয়েছি যা একটি কাস্টম মেটা ক্ষেত্রের মধ্যে অ্যারের হিসাবে ডেটা সঞ্চয় করে। তথ্য উত্তোলনের সর্বোত্তম উপায় কী?

উদাহরণস্বরূপ, কীভাবে আমি "কানাডা" হিসাবে "উত্পাদিত" ফিল্ডটি প্রদর্শন করতে পারি?

[_ttn_i_details] => Array ( [0] => a:5:{s:9:"engine_id";a:1:{i:0;s:9:"300000225";}s:15:"transmission_id";a:1:{i:0;s:6:"257691";}s:5:"plant";a:1:{i:0;s:23:"Oshawa, Ontario, Canada";}s:15:"Manufactured in";a:1:{i:0;s:6:"CANADA";}s:22:"Production Seq. Number";a:1:{i:0;s:6:"151411";}} )

উপরের উদাহরণ কোড মাধ্যমে উত্পাদিত হয়েছিল print_r(get_post_custom($post->ID));

আমি যতই ক্ষুদ্র হোক না কেন আমি যে কোনও অন্তর্দৃষ্টি উপলব্ধি করি। :)


1
আপনার যদি কোনও প্রশ্নে ভোট দেওয়া হয় তবে কমপক্ষে কেন এটি বলার পক্ষে যথেষ্ট বয়স্ক হন। আমি পিএইচপি শেখার জন্য অনেক চেষ্টা করছি। এটি বেশিরভাগ প্রোগ্রামারদের কাছে প্রাথমিক বিষয় হতে পারে তবে আমি ডিজাইনের পটভূমি থেকে আসছি।
এম-টরিন

উত্তর:


35

একে অ্যারে রূপান্তর করতে আনসিরিয়ালাইজ () ব্যবহার করুন ।

$mydata = 'a:5:{s:9:"engine_id";a:1:{i:0;s:9:"300000225";}s:15:"transmission_id";a:1:{i:0;s:6:"257691";}s:5:"plant";a:1:{i:0;s:23:"Oshawa, Ontario, Canada";}s:15:"Manufactured in";a:1:{i:0;s:6:"CANADA";}s:22:"Production Seq. Number";a:1:{i:0;s:6:"151411";}}';
$mydata = unserialize($mydata);
echo $mydata['Manufactured in'][0];

সম্পাদনা - সম্পর্কিত চিন্তিত- মেটাল ডেটা এই জাতীয় ক্রিয়াকলাপ সংরক্ষণ করার সময় মনে রাখার মতো কিছু হ'ল এটি যদি আপনার উদ্বেগের বিষয় হয় তবে আপনি সেই ডেটা প্রশ্নের অনুসন্ধানে সীমাবদ্ধ রাখবেন। উদাহরণস্বরূপ, "কানাডায় উত্পাদিত সমস্ত অংশ আমাকে দেখান", বা ইঞ্জিন আইডি দ্বারা ফলাফল অর্ডার করার মতো কোয়েরি লিখতে এত সহজ নয়, যেহেতু সেই তথ্যটি একটি ক্ষেত্রে অন্যান্য ডেটা গুছিয়ে নিয়ে যায়।


@ এম টেইলর - আপনাকে স্বাগতম, সিরিয়ালযুক্ত ডেটা এবং কোয়েরি সম্পর্কে আমি যে সম্পাদনাটি যুক্ত করেছি তা পরীক্ষা করে দেখুন এটি নিশ্চিত না যে এটি আপনার জন্য উদ্বেগ, তবে এটি হতে পারে।
মিলো

আপনি ডেটা অনুসন্ধান করার ক্ষমতা হারাতে দুর্দান্ত পয়েন্ট করেছেন। আমি স্ক্রিপ্টটি লিখিনি তা দিয়ে, কীভাবে এটি সিরিয়ালাইজড অ্যারেে সংরক্ষণ করবেন না তা খতিয়ে দেখতে হবে।
এম-টরিন

@ এম টেইলর আমি দুঃখিত না। আমি নিশ্চিত যে এখানে কেউ সাহায্য করতে পারে যদিও।
মিলো
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.