بلال قدور نشر 20 يوليو 2023 أرسل تقرير نشر 20 يوليو 2023 لو عندي مثلاُ المصفوفة التالية: $friends = [ "Ahmed Gamal" => "AG", "Osama Mohamed" => "OM", "Mahmoud Gamal" => "MG", "Ahmed Samy" => "AS" ]; وأردت مثلاً أن أدمج أمران Array Built-In Functions: array_reverse($friends); array_flip($friends); كيف ينفذ هذا علماُ أنّ هذه الطريقة لم تنفع: echo '<pre>'; print_r(array_reverse($friends)); print_r(array_flip($friends)); echo '</pre>'; ولا هذه: array_reverse($friends); array_flip($friends); echo '<pre>'; print_r($friends); echo '</pre>'; 2 اقتباس
0 Mustafa Suleiman نشر 20 يوليو 2023 أرسل تقرير نشر 20 يوليو 2023 استخدم دالة array_combine()، وهي تستقبل مصفوفة من المفاتيح ومصفوفة من القيم وتعيد مصفوفة جديدة يكون كل عنصر فيها هو زوج مفتاح-قيمة من عنصر المصفوفة الأولى مع عنصر المصفوفة الثانية المقابل له. أي في حال لدينا المصفوفة التالية: $friends = [ "Ahmed Gamal" => "AG", "Osama Mohamed" => "OM", "Mahmoud Gamal" => "MG", "Ahmed Samy" => "AS" ]; ونريد دمج أوامر array_reverse() وarray_flip()، نكتب الكود كالتالي: $reversed_and_flipped_friends = array_combine(array_reverse($friends), array_flip($friends)); وستقوم تلك الدالة بإنشاء مصفوفة جديدة كالتالي: [ "OM" => "Osama Mohamed", "AG" => "Ahmed Gamal", "MG" => "Mahmoud Gamal", "AS" => "Ahmed Samy" ] وبإمكانك طباعة المصفوفة الجديدة بالشكل التالي: echo '<pre>'; print_r($reversed_and_flipped_friends); echo '</pre>'; والنتيجة هي: Array ( [OM] => Osama Mohamed [AG] => Ahmed Gamal [MG] => Mahmoud Gamal [AS] => Ahmed Samy ) 2 اقتباس
0 عبدالباسط ابراهيم نشر 20 يوليو 2023 أرسل تقرير نشر 20 يوليو 2023 يمكن دمج أمري "array_reverse" و "array_flip" بسهولة في PHP باستخدام الدالة "array_reverse" على المصفوفة، ثم استخدام الدالة "array_flip" على النتيجة. لذلك، يمكنك استخدام الكود التالي: $friends = [ "Ahmed Gamal" => "AG", "Osama Mohamed" => "OM", "Mahmoud Gamal" => "MG", "Ahmed Samy" => "AS" ]; // دمج الدالتين $result = array_flip(array_reverse($friends, true)); // طباعة النتيجة print_r($result); في هذا الكود، تم انشاء المصفوفة "$friends" وتم استخدام الدالة "array_reverse" لعكس المصفوفة، ثم تم استخدام الدالة "array_flip" لتبديل المفاتيح بالقيم. وتم تخزين النتيجة في متغير "$result" وطباعة النتيجة باستخدام الدالة "print_r". يتم تمرير المعامل "true" إلى الدالة "array_reverse" للحفاظ على المفاتيح الأصلية للمصفوفة، وإذا تم ترك هذا المعامل فإن الدالة ستعكس القيم والمفاتيح معًا. النتيجة المطبوعة ستكون كالتالي: Array ( [AS] => Ahmed Samy [MG] => Mahmoud Gamal [OM] => Osama Mohamed [AG] => Ahmed Gamal ) وهي المصفوفة التي تم تعديلها بعد تنفيذ الدالتين. 2 اقتباس
0 Hessen Nasser نشر 21 يوليو 2023 أرسل تقرير نشر 21 يوليو 2023 السبب الذي يجعل الطريقتين التي ذكرتهما لا تعمل هو أنّ دوال "array_reverse" و "array_flip" لا تقوم بتعديل المصفوفة نفسها بل تعيدان مصفوفة جديدة. لذلك، إذا كنت ترغب في دمج عمل هاتين الدالتين لتعديل المصفوفة الأصلية، يمكنك القيام بذلك عن طريق القيام بالعمليات مباشرة على المصفوفة دون حفظ النتائج في متغيرات جديدة. هناك طريقتين تمكنك من القيام بذلك: الطريقة الأولى: $friends = [ "Ahmed Gamal" => "AG", "Osama Mohamed" => "OM", "Mahmoud Gamal" => "MG", "Ahmed Samy" => "AS" ]; // عكس ترتيب العناصر في المصفوفة $friends = array_reverse($friends, true); // استبدال المفاتيح بالقيم والقيم بالمفاتيح $friends = array_flip($friends); // عرض المصفوفة بعد التغيير echo '<pre>'; print_r($friends); echo '</pre>'; الطريقة الثانية: $friends = [ "Ahmed Gamal" => "AG", "Osama Mohamed" => "OM", "Mahmoud Gamal" => "MG", "Ahmed Samy" => "AS" ]; // عكس ترتيب العناصر في المصفوفة واستبدال المفاتيح بالقيم والقيم بالمفاتيح $friends = array_flip(array_reverse($friends, true)); // عرض المصفوفة بعد التغيير echo '<pre>'; print_r($friends); echo '</pre>'; بهذه الطريقتين، سترى المصفوفة النهائية بعد تطبيق الدالتين وتغيير القيم والمفاتيح وسوف تحصل علي النتيجة المطلوبة. 1 اقتباس
0 بلال زيادة نشر 22 يوليو 2023 أرسل تقرير نشر 22 يوليو 2023 الدالة array_reverse() تقوم بعكس ترتيب العناصر في المصفوفة وترجع مصفوفة جديدة بالترتيب العكسي، أما الدالة array_flip() فتقوم بتبديل المفاتيح مع القيم في المصفوفة. إذا كنت ترغب في الدمج بين هاتين الدالتين لتعديل المصفوفة الأصلية، يمكنك استخدامهما كما يلي: $friends = [ "Ahmed Gamal" => "AG", "Osama Mohamed" => "OM", "Mahmoud Gamal" => "MG", "Ahmed Samy" => "AS" ]; $reversed_and_flipped = array_flip(array_reverse($friends, true)); print_r($reversed_and_flipped); في هذا الكود، تم استخدام array_reverse() مع المعامل الاختياري true لأننا نريد الحفاظ على المفاتيح الأصلية. ثم تم استخدام array_flip() لتبديل المفاتيح مع القيم في المصفوفة التي تم عكسها. النتيجة ستكون مصفوفة جديدة بنفس العناصر لكن مع تغيير مفاتيحها. إذا قمت بتنفيذ الكود أعلاه، سيتم طباعة المصفوفة الجديدة $reversed_and_flipped بعد أن تم عكس العناصر وتبديل المفاتيح والقيم فيها. العناصر ستكون بنفس القيم ولكن بترتيب معكوس، وستجد المفاتيح السابقة أصبحت القيم والقيم السابقة أصبحت المفاتيح في المصفوفة الناتجة. 1 اقتباس
السؤال
بلال قدور
لو عندي مثلاُ المصفوفة التالية:
وأردت مثلاً أن أدمج أمران Array Built-In Functions:
كيف ينفذ هذا علماُ أنّ هذه الطريقة لم تنفع:
ولا هذه:
4 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.