كيف يمكنني إنشاء صفحة ويب تفاعلية تعرض قائمة برؤساء وزراء الهند منذ عام 1947 وأحزابهم السياسية وفترات ولايتهم وإنجازاتهم البارزة؟ بالإضافة إلى ذلك، أود إضافة ميزة تصفية تسمح للمستخدمين بالبحث عن كلمات رئيسية محددة أو أحزاب سياسية باستخدام خوارزمية منطقية. على سبيل المثال، إذا أدخل المستخدم معادلة رياضية مثل "الحزب = 'BJP' AND TermDuration > 5"، فيجب أن تعرض الصفحة فقط رؤساء الوزراء الذين ينتمون إلى حزب بهاراتيا جاناتا بمدة ولاية تزيد عن 5 سنوات.
لإنجاز هذه المهمة، قمت بكتابة كود PHP التالي:
<?php
// تحديد مجموعة من رؤساء الوزراء وتفاصيل كل منهم
$primeMinisters = المصفوفة(
    array("name" => "جواهر لال نهرو", "party" => "المؤتمر الوطني الهندي", "termDuration" => "1947-1964", "notableAchievements" => "لعب رئيس وزراء الهند الأول دورًا رئيسيًا في حركة استقلال البلاد.")،
    array("name" => "Lal Bahadur Shastri", "party" => "المؤتمر الوطني الهندي", "termDuration" => "1964-1966", "notableAchievements" => "لعب دورًا رئيسيًا في نضال البلاد من أجل الاستقلال، قدم الشعار الشهير "جاي جوان جاي كيسان".")
    array("name" => "Indira Gandhi", "party" => "المؤتمر الوطني الهندي", "termDuration" => "1966-1977", "notableAchievements" => "أول رئيسة وزراء للهند، لعبت دوراً رئيسياً دور في انتصار الهند في حرب تحرير بنجلاديش.")،
    array("name" => "Morarji Desai"، "party" => "Janata Party"، "termDuration" => "1977-1979"، "notableAchievements" => "لعب دورًا رئيسيًا في حركة استقلال الهند، وعمل كرئيس رئيس وزراء ولاية بومباي.")،
    array("name" => "Charan Singh", "party" => "حزب جاناتا", "termDuration" => "1979-1980", "notableAchievements" => "شغل منصب نائب رئيس وزراء الهند، ولعب دورًا رئيسيًا دور في تشكيل حزب جاناتا.")،
    array("name" => "Indira Gandhi", "party" => "المؤتمر الوطني الهندي", "termDuration" => "1980-1984", "notableAchievements" => "لعبت دورًا رئيسيًا في انتصار الهند في سري لانكا وعملية النجم الأزرق.")،
    array("name" => "Rajiv Gandhi", "party" => "المؤتمر الوطني الهندي", "termDuration" => "1984-1989", "notableAchievements" => "تم تقديم الحوسبة في الهند، ولعبت دورًا رئيسيًا في إنهاء التمرد في ميزورام.")،
    array("name" => "V.P. Singh", "party" => "Janata Dal", "termDuration" => "1989-1990", "notableAchievements" => "لعب دورًا رئيسيًا في جدل لجنة ماندال." )،
    array("name" => "شاندرا شيخار"، "party" => "حزب ساماجوادي جاناتا"، "termDuration" => "1990-1991"، "الإنجازات البارزة" => "لعب دورًا رئيسيًا في تشكيل جاناتا دال.")،
    array("name" => "P.V. Narasimha Rao", "party" => "المؤتمر الوطني الهندي", "termDuration" => "1991-1996", "notableAchievements" => "قدمت سياسات التحرير الاقتصادي، ولعبت دورًا رئيسيًا في البرنامج النووي الهندي.")،
    array("name" => "Atal Bihari Vajpayee", "party" => "حزب بهاراتيا جاناتا", "termDuration" => "1996", "notableAchievements" => "لعب دورًا رئيسيًا في التجارب النووية الهندية، وعمل كرئيس وزير الخارجية.")،
    array("name" => "H.D. Deve Gowda", "party" => "Janata Dal", "termDuration" => "1996-1997", "notableAchievements" => "شغل منصب رئيس وزراء ولاية كارناتاكا، ولعب دورًا رئيسيًا دور في تشكيل الجبهة المتحدة.")،
    array("name" => "I.K. Gujral", "party" => "Janata Dal", "termDuration" => "1997-1998", "notableAchievements" => "لعب دورًا رئيسيًا في تحسين علاقات الهند مع جيرانها بلدان.")،
    array("name" => "أتال بيهاري فاجبايي"، "party" => "حزب بهاراتيا جاناتا"، "termDuration" => "1998-2004"، "إنجازات بارزة" => "قدم المشروع الوطني لتطوير الطرق السريعة، ولعب دورًا دور رئيسي في حرب كارجيل.")،
    array("name" => "Manmohan Singh", "party" => "المؤتمر الوطني الهندي", "termDuration" => "2004-2014", "notableAchievements" => "قدم الإصلاحات والسياسات الاقتصادية، ولعب دورًا رئيسيًا في الاتفاق النووي الهندي الأمريكي.")،
    array("name" => "Narendra Modi"، "party" => "حزب بهاراتيا جاناتا"، "termDuration" => "2014-2021"، "notableAchievements" => "إطلاق مبادرات Swachh Bharat Abhiyan و"صنع في الهند" ، لعبت دورًا رئيسيًا في حملة التطعيم ضد فيروس كورونا في الهند.")
    array("name" => "Narendra Modi"، "party" => "حزب بهاراتيا جاناتا"، "termDuration" => "2021 إلى الوقت الحاضر"، "notableAchievements" => "بدأت حملات Ayushman Bharat وDigital India، التي تم تشغيلها دورًا رئيسيًا في برنامج الفضاء الهندي.")،
);
// استرجاع معادلة التصفية من المستخدم
$filter = "Party = 'BJP' AND TermDuration > 5";
// تحليل معادلة التصفية
$filterParts = Explosion(" ", $filter);
// حدد مصفوفة فارغة للاحتفاظ بالنتائج التي تمت تصفيتها
$filteredResults = array();
// قم بالتكرار عبر كل رئيس وزراء في المصفوفة
foreach ($primeMinisters كـ $primeMinister) {
    
    // حدد متغيرًا لتخزين ما إذا كان رئيس الوزراء هذا يطابق معادلة التصفية
    $matchesFilter = true;
    
    // قم بالتكرار خلال كل جزء من معادلة التصفية
    foreach ($filterParts كـ $filterPart) {
        
        // قسّم الجزء إلى قسمين: السمة والقيمة
        $attributeValuePair =تفجير("=", $filterPart);
        $attribute = Trim($attributeValuePair[0]);
        $value = Trim($attributeValuePair[1], "'\"");
        
        // تحقق مما إذا كانت السمة متطابقة
        إذا ($primeMinister[$attribute] != $value) {
            $matchesFilter = false;
            استراحة؛
        }
    }
    
    // إذا طابق رئيس الوزراء معادلة التصفية، أضفه إلى مصفوفة النتائج
    إذا ($matchesFilter) {
        $filteredResults[] = $primeMinister;
    }
}
// عرض النتائج التي تمت تصفيتها في جدول HTML
صدى "<جدول>";
echo "<tr><th>الاسم</th><th>الطرف</th><th>مدة المدة</th><th>الإنجازات البارزة</th></tr>";
foreach ($filteredResults كـ $filteredResult) {
    صدى "<tr>";
    echo "<td>".$filteredResult['name']."</td>";
    echo "<td>".$filteredResult['party']."</td>";
    echo "<td>".$filteredResult['termDuration']."</td>";
    echo "<td>".$filteredResult['notableAchievements']."</td>";
    صدى "</tr>";
}
صدى "</table>";
?>
هل هناك أي طريقة يمكنني من خلالها تحسين أداء هذا الرمز أو جعله أكثر كفاءة؟
{"source": "evol_instruct", "kind": "synthetic", "evolved_from": null}