بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته
في هذه المقالة ساتطرق الى كيفية برمجة دالة تقوم بعمل نفس دالة in_array في بي اتش بي
والغاية من هذه السلسلة التعليم كيفية برمجة دوال تقوم بالعمل دون الخاجة الى المنصة المستخدمة
ولتطوير المبرمج ليعتمد على ذاته في برمجة الدوال وفهم اسلوب الاستدعاء بالاشارة اي بالعنوان
الفرق بين الاستدعاء في الاشارة (العنوان) والاستدعاء بالقيمة
الاستدعاء بالقيمة يولد نسخة للقيمة
بينما الاستدعاء بالاشارة (العنوان)هو الاشارة الى عنوان المتغير في الذاكرة
طبعا الثانية اسرع ولاتاخذ حيز في الذاكرة
مثال عليها البحث في كومة اوارق والحصول على الورقة المناسبة
البحث في مكان محدد
نبدا
تعريف متن الدالة في اللغة الام

كود PHP:
                       bool in_array($find,&$array
الوسيط الاول هو متغير يحمل القيمة المراد التاكد من وجودها في المصفوفة
الثاني مؤشر الى الدالة المراد البحث فيها للحصول على التطابق وهو الاستدعاء بالاشارة الى المتغير وليس قيمة
الدالة كاملة

كود PHP:
                       function Get_in_array($find,&$array){ 
    if(
is_array($array)){ 
        foreach (
$array as $value){ 
            if(
$value===$find){ 
                return 
true
            } 
        } 
    }else{ 
        return 
false
    } 

شرح الدالة
كما ذكرنا عن تعريف الدالة تعيد قيمة منطقية اي TRUE او FALSE
السطر التالي

كود PHP:
                       if(is_array($array)){ 
للتاكد من ان الذي وضع في البارمتر الثاني هو مصفوفة اصلا والا سيتم العودة بقيمة خاطئة مباشرة دون الحاجة للفحص وهذا يسرع من العمل
في السطر التالي

كود PHP:
                       foreach ($array as $value){ 
قمنا بتشغيل تكرار ليقوم بالتكرار بعدد عناصر المصفوفة
ثم وضعنا شرط ضمن التكرار

نقره لتكبير أو تصغير الصورة ونقرتين لعرض الصورة في صفحة مستقلة بحجمها الطبيعي


كود PHP:
                       if($value===$find
طبعا ممكن تتسائل لماذا وضعن ال === يدل ==
الفرق مابين ال=== هي فحص يجب ان يكون نفس الشي ومن نفس النوع
بينما == فحص ان يكون نفس الشي
ثم وضعنا في السطر

كود PHP:
                       return true
اذا تم التطابق مابين القيمة والمتغير ننهي العمل باRETURN ثم نعيد قيمة منطقية صحيحة true
اما اذا وصلنا للنهاية ولم نجد تطابق نعود بانهاء العمل وارجاع قية false
وبذلك تكون الدالة انتهت
مثال على التاكد من عمل الدالة

كود PHP:
                       $ar=array('ib','or'); 
if(
Get_in_array('ib',$ar)){ 
    echo 
'نعم'
}else{ 
    echo 
'لا'

ارجو ان اكون وفقت في الشرح
طبعا اذا تم وضع الكود كالتالي

كود PHP:
                       if(Get_in_array('ib',array('ib','or'))){ 
    echo 
'نعم'
}else{ 
    echo 
'لا'

سيرسل المترجم رسالة خطا كالتالي
Fatal errorOnly variables can be passed by reference in
مفادها يجب استخدام البارمتر الثاني على انه متغير ولس قيمة
والله ولي التوفيق وبالتوفيق للجميع ان شاء الله