اذهب إلى المحتوى
  • 0

الاختلاف بين foreach و map في PHP و React لماذا يُستخدم كل منهما بشكل مختلف عند تكرار العناصر؟

Abdelrahman Mostafa10

السؤال

لماذا في لغة PHP عندما نقوم بتكرار (loop) عبر مصفوفة لعرض العناصر، نستخدم foreach وليس array_map، ولكن في React نقوم بالعكس ونختار map بدلاً من foreach؟ لماذا يحدث ذلك؟

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

أخي الكريم، سأحاول شرح الفرق بين الـ foreach والـ map في PHP و React بأسلوب بسيط:

- في PHP الـ foreach مصمم بشكل خاص لتكرار عناصر المصفوفة والوصول إلى قيمتها وفهرسها داخل الحلقة. 

- أما الـ array_map فهو يقوم بتطبيق دالة معينة على كل عنصر بدلاً من مجرد الوصول إليه.

- في React، لا يوجد ما يعادل الـ foreach. ولكن الـ map يقوم بنفس وظيفة الـ foreach إضافة إلى إمكانية تطبيق دالة على العناصر كما في array_map.

- فهو يقوم بتكرار عناصر المصفوفة وإرجاع مصفوفة جديدة مع إمكانية تغيير قيمة العناصر أو إضافة بيانات جديدة.

في PHP، الـ `foreach` تُستخدم عادة لتكرار العناصر في مصفوفة. يتيح لك ذلك الوصول إلى كل عنصر على حدة بسهولة والقيام بالعمليات المطلوبة.

$array = [1, 2, 3, 4, 5];

foreach ($array as $value) {
    echo $value . '<br>';
}

 

في React (وJavaScript بشكل عام)، `map` تستخدم عادة لتحويل مصفوفة من العناصر إلى عناصر جديدة. يمكن استخدامها لإنشاء قائمة من العناصر jsx

const numbers = [1, 2, 3, 4, 5];

const doubledNumbers = numbers.map((number) => number * 2);

// في JSX
const listItems = doubledNumbers.map((number) => <li key={number}>{number}</li>);

الاختلاف في الاستخدام يعود إلى الطريقة التي يتم فيها التعامل مع البيانات في كل لغة. في PHP، تكون العمليات عادةً مباشرة على البيانات، بينما في JavaScript وReact، يُفضل استخدام `map` للتلاعب بالبيانات وإنشاء هيكل JSX بشكل أنيق.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

تستخدم foreach ف لغة ال php لان لها اسلوب بسيط و مباشر في الوصول إلي العناصر مثال : 
;anyarray = [1, 2, 3]$
 }foreach ($anyarray as $element)
; "   " . echo $element
}

سيكون ال output  عبارة عن : 
1   2   3

و تستخدم map في react لان لها اسلوب في إنشاء مصوفة جديدة من العناصر المعدلة مثال : 
;const anyarrsy = ["a", "b", "c"]
}<= const newArray = anyarray.map((element)

 ;< return <div key={element}>{element}</div
});

هذا المقطع من الكود و كأننا كتبنا : 
] =  const newArray
,  <div key="a">a</div>
,  <div key="b">b</div>
 , <div key="c">c</div>
];

وربما تسأل ما فائدة انشاء مصفوفة جديدة 
١- يمكن أن يقلل انشاء مصفوفة جديدة أن يقلل عدد العمليات التي تقوم بها react 
٢- انشاء مصفوفة جديدة اسهل من التعديل على المصفوفة الأصلية في المصفوفات الكبيرة و المعقدة 
٣- يمكن استخدام المصفوفة الجديدة لإنشاء عناصر مختلفة مثل عناصر <div>، أو عناصر <button>، أو عناصر <img>

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...