من الصعب تحديد كيفية تمرير العدد الصحيح من الحجج اعتمادًا على الموقف. تستكشف هذه المقالة حلًا لهذه المشكلة ، مع التركيز على استخدام وظيفة call_user_func_array. . هذه الميزة مفيدة عندما يكون لديك حججك مخزنة في صفيف. على سبيل المثال ، ضع في اعتبارك الوظيفة التالية: test () { var_dump (func_num_args ()) ؛ var_dump (func_get_args ()) ؛ }
إذا كان لديك معلماتك مخزنة في صفيف ، مثل:
10 ، 'glop' ، 'امتحان' ) ؛يمكنك الاتصال بوظيفة الاختبار باستخدام call_user_func_array على النحو التالي: &&&] int 3 صفيف 0 = & gt ؛ int 10 1 = & gt ؛ سلسلة "Glop" (الطول = 4) 2 = & gt ؛ سلسلة "اختبار" (طول = 4)
في هذا المثال ، تمرر دالة call_user_func_array كل عنصر من عنصر $ params كمعلمة مميزة لوظيفة الاختبار. هذا يحقق نفس النتيجة كما لو كنت تسمى وظيفة الاختبار مباشرة تمر مباشرة المعلمات الفردية ، على سبيل المثال: Budapy&&&&&&&
function test() { var_dump(func_num_args()); var_dump(func_get_args()); }
حل مناسب لتمرير عدد متغير من الوسائط لوظائف PHP. إنه يبسط العملية ويعزز مرونة الكود الخاص بك ، مما يسمح لك بتمرير الوسائط بشكل ديناميكي بناءً على سيناريوهات محددة.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3