"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية استرداد أزواج القيمة الرئيسية بكفاءة في مصفوفة ترابطية باستخدام PDO FetchAll؟

كيفية استرداد أزواج القيمة الرئيسية بكفاءة في مصفوفة ترابطية باستخدام PDO FetchAll؟

تم النشر بتاريخ 2024-10-31
تصفح:167

How to Efficiently Retrieve Key-Value Pairs into an Associative Array with PDO FetchAll?

PDO FetchAll: تجميع أزواج القيمة الرئيسية في مصفوفة ترابطية

في استعلامات قاعدة البيانات التي ترجع أزواج القيمة الرئيسية، غالبًا ما يكون ذلك مناسبًا لاسترداد البيانات كمصفوفة ترابطية، مع تعيين القيم للمفاتيح الخاصة بها. على الرغم من وجود طرق شائعة لتحقيق ذلك، مثل استخدام fetchAll(PDO::FETCH_ASSOC) متبوعًا بالتكرار اليدوي لإنشاء المصفوفة، إلا أن هذا الأسلوب يمكن أن يكون مرهقًا.

حل بديل، مصمم خصيصًا لهذا الغرض، هو استخدام خيار fetchAll(PDO::FETCH_KEY_PAIR). تقوم هذه الطريقة تلقائيًا بإنشاء مصفوفة اقترانية مع نتائج الاستعلام، وتعيين العمود الأول للمفاتيح والعمود الثاني للقيم.

لتوضيح ذلك، فكر في استعلام يسترد أعمدة الاسم والقيمة من جدول الإعدادات :

$q = $db->query("SELECT `name`, `value` FROM `settings`;");
$r  = $q->fetchAll(PDO::FETCH_KEY_PAIR);

في هذه الحالة، إذا كانت قاعدة البيانات تحتوي على صفوف مثل ('first_name'، 'Tom') و('last_name'، 'Jeferson') ، فإن المصفوفة $r الناتجة ستكون:

Array(
    'first_name' => 'Tom',
    'last_name'  => 'Jeferson'
)

توفر هذه الطريقة طريقة مباشرة وفعالة لاسترداد أزواج القيمة الرئيسية في مصفوفة ترابطية، مما يلغي الحاجة إلى إنشاء المصفوفة يدويًا. وهو مدعوم بإصدارات PHP الحديثة وبعض قواعد البيانات الشائعة مثل PostgreSQL.

بيان الافراج أعيد طبع هذه المقالة على: 1729583957 في حالة وجود أي انتهاك، يرجى الاتصال بـ [email protected] لحذفها
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3