البرمجة

PHP Equivalent for JavaScript Array.some()

في PHP، يمكننا تحقيق نفس الوظيفة المتمثلة في دالة array_some() في جافا سكريبت باستخدام بعض التقنيات المتاحة. على الرغم من عدم وجود دالة مدمجة تسمح بذلك بشكل مباشر مثل دالة Array.prototype.some() في جافا سكريبت، إلا أنه يمكننا كتابة وظيفة مخصصة لتحقيق نفس الغرض.

فيما يلي مثال يوضح كيفية تحقيق وظيفة مماثلة في PHP:

php
function array_some($array, $callback) { foreach ($array as $key => $value) { if ($callback($value, $key, $array)) { return true; } } return false; } function isBiggerThan10($element) { return $element > 10; } $array1 = [2, 5, 8, 1, 4]; $array2 = [12, 5, 8, 1, 4]; $result1 = array_some($array1, 'isBiggerThan10'); $result2 = array_some($array2, 'isBiggerThan10'); echo $result1 ? 'true' : 'false'; // false echo $result2 ? 'true' : 'false'; // true

تُعرف الدالة array_some() الخاصة بنا بأخذ مصفوفة ودالة استعلام كمدخلات. تقوم هذه الدالة بتطبيق الدالة المعطاة ($callback) على كل عنصر في المصفوفة. إذا كانت الدالة المعطاة تعيد قيمة true على الأقل لأحد العناصر، فإن الدالة array_some() تعيد true، وإلا فإنها تعيد false.

الدالة isBiggerThan10() هي الدالة المرشحة التي نقوم بتمريرها إلى array_some() للتحقق مما إذا كان أحد العناصر في المصفوفة أكبر من 10 أم لا.

المزيد من المعلومات

بالطبع، دعنا نعمق في التفاصيل قليلاً.

في الكود المُعرَّف، يتم استخدام دالة array_some() لتحقق مما إذا كان أي عنصر في المصفوفة يستوفي شرطًا معينًا، الذي يتم تمريره كوظيفة اختبار باستخدام استدعاء isBiggerThan10().

بدايةً، يتم تعريف دالة array_some()، التي تأخذ المصفوفة المراد فحصها ودالة استدعاء لتطبيقها على كل عنصر في المصفوفة. يتم استخدام حلقة foreach للانتقال عبر كل عنصر في المصفوفة. في كل تكرار، يتم استدعاء الدالة المرشحة ($callback) وتمرير القيمة الحالية للعنصر بالإضافة إلى مفتاحه والمصفوفة نفسها إذا كان ذلك ضروريًا. إذا أعادت الدالة المرشحة true على الأقل مرة واحدة، يتم إرجاع قيمة true من الدالة array_some() على الفور، مما يعني أن هناك عنصرًا واحدًا على الأقل يمر بالشرط المحدد. إذا لم يعود أي من الاستدعاءات true، فإن الدالة تعود بقيمة false.

تم تعريف دالة isBiggerThan10() لتكون الدالة المرشحة. تأخذ هذه الدالة عنصرًا كمدخل وتقارنه بالقيمة 10، وتعود بالقيمة true إذا كان العنصر أكبر من 10، و false إذا كان أقل من أو يساوي 10.

بعد ذلك، تم تعريف مصفوفتين $array1 و$array2، وتم استخدام دالة array_some() مع الدالة المرشحة isBiggerThan10() للتحقق من كل مصفوفة بشكل منفصل. ثم تم طباعة النتائج التي تشير إما إلى وجود عنصر يستوفي الشرط أو عدم وجوده.

يُظهر هذا المثال كيف يمكن تحقيق وظيفة مشابهة لدالة Array.prototype.some() في جافا سكريبت في PHP باستخدام الوظائف المتاحة في اللغة، وكيف يمكن للمطورين تطبيق الأساليب المتاحة بديلًا عن الوظائف المدمجة عندما لا تكون متاحة مباشرة.

مقالات ذات صلة

زر الذهاب إلى الأعلى
إغلاق

أنت تستخدم إضافة Adblock

يرجى تعطيل مانع الإعلانات حيث أن موقعنا غير مزعج ولا بأس من عرض الأعلانات لك فهي تعتبر كمصدر دخل لنا و دعم مقدم منك لنا لنستمر في تقديم المحتوى المناسب و المفيد لك فلا تبخل بدعمنا عزيزي الزائر