اية اية3 نشر 26 مارس 2022 أرسل تقرير نشر 26 مارس 2022 (معدل) كيفية انشاء فنكشن في php تاخذ مجموعة من الارقام وترجع مصفوفة من المربعات لكل رقم. وهذه محاولتي في الحل function s(...$numbers) { foreach ($numbers as $n) {$m =$n**2;} return $m ; } echo s( 3).','; echo s( 5); تم التعديل في 26 مارس 2022 بواسطة Hassan Hedr تنسيق الشيفرة 1 اقتباس
0 محمد أبو عواد نشر 26 مارس 2022 أرسل تقرير نشر 26 مارس 2022 بتاريخ الآن قال اية اية3: زبط لكن لم يخرج على شكل مصفوفة [] ما يتم طباعته هي عناصر المصفوفة المسترجعة من الدالة s , اذا بالفعل لدينا مصفوفة , ولكن لا يمكن طباعة المصفوفة الا بالمرور على جميع عناصرها باستخدام حلقات التكرار , استخدمنا حلقة التكرار foreach وقمنا بطباعة عناصر المصفوفة , اذا كنتي تريدين أن يكون الناتج يأخذ شكل المصفوفة فيمكنك فعل ذلك كالتالي <?php function s(...$numbers) { foreach ($numbers as $n) { $m[] = $n**2; } return $m; } $result='[';// قمنا بإنشاء متغير واسندنا اليه قيمة نصية قيمتها فقط القوس الواضح أمامك foreach(s(3, 5) as $square) { $result.= $square . ','; // نقوم بإلحاق قيمة العناصر بالمتغير الذي انشأناه } $result.=']';// بعد انتهاء حلقة التكرار نقوم بإغلاق القوس echo $result;// نقوم بطباعة قيمة المتغير الذي أنشأناه ?> 1 اقتباس
0 Hassan Hedr نشر 26 مارس 2022 أرسل تقرير نشر 26 مارس 2022 التابع المذكور يقوم بالمرور على الأرقام الممررة له ويحسب مربع كل منها ويخزنه ضمن المتغير m$، الخطأ لديك هو عند تخزين تلك القيمة سيتم مسح القيمة السابقة لها وبالتالي لن نحصل سوى على آخر نتيجة فقط، بما أن استخدامك للتابع هو فقط لتمرير عدد مفرد يمكن كتابته لإرجاع نتيجة مفردة وليس مصفوفة كالتالي: function s($number) { return $number**2; } echo s(3).','; echo s(5); // 9, 25 أما في حالة إرجاع مصفوفة حصرًا يجب تغيير طريقة اسنادك للنتيجة لمتغير مصفوفة النتائج وإضافة قوسين مربعين، ويجب تغيير طريقة استعمال المصفوفة باعتبار أنها ترجع مصفوفة وليس عدد مفرد، لتصبح كالتالي: function s(...$numbers) { foreach ($numbers as $n) { $m[] = $n**2; } return $m; } foreach(s(3, 5) as $square) { echo s($square) . ','; } 1 اقتباس
0 اية اية3 نشر 26 مارس 2022 الكاتب أرسل تقرير نشر 26 مارس 2022 لماذا عندما اكتب الكود الذي كتبته ينتج لدي error في سطر الطباعة echo 1 اقتباس
0 محمد أبو عواد نشر 26 مارس 2022 أرسل تقرير نشر 26 مارس 2022 بتاريخ 10 دقائق مضت قال اية اية3: لماذا عندما اكتب الكود الذي كتبته ينتج لدي error في سطر الطباعة echo هل يمكنك ارفاق الكود الذي كتبتيه؟ اقتباس
0 اية اية3 نشر 26 مارس 2022 الكاتب أرسل تقرير نشر 26 مارس 2022 بتاريخ 1 دقيقة مضت قال محمد أبو عواد: هل يمكنك ارفاق الكود الذي كتبتيه؟ function s(...$numbers) { foreach ($numbers as $n) { $m[] = $n**2; } return $m; } foreach(s(3, 5) as $square) { echo s($square) . ','; } 1 اقتباس
0 محمد أبو عواد نشر 26 مارس 2022 أرسل تقرير نشر 26 مارس 2022 بتاريخ 4 دقائق مضت قال اية اية3: function s(...$numbers) { foreach ($numbers as $n) { $m[] = $n**2; } return $m; } foreach(s(3, 5) as $square) { echo s($square) . ','; } لاحظي أنك تقومين باستدعاء المصفوفة مرة أخرى في جملة الطباعة echo s($square) . ','; ^^^ سوف نعدل السطر كالتالي echo $square . ','; جربي الأمر مرة أخرى وأخبرينا بالنتيجة اقتباس
0 اية اية3 نشر 26 مارس 2022 الكاتب أرسل تقرير نشر 26 مارس 2022 بتاريخ 1 دقيقة مضت قال محمد أبو عواد: لاحظي أنك تقومين باستدعاء المصفوفة مرة أخرى في جملة الطباعة echo s($square) . ','; ^^^ سوف نعدل السطر كالتالي echo $square . ','; جربي الأمر مرة أخرى وأخبرينا بالنتيجة زبط لكن لم يخرج على شكل مصفوفة [] 1 اقتباس
0 Hassan Hedr نشر 27 مارس 2022 أرسل تقرير نشر 27 مارس 2022 بتاريخ 11 ساعات قال اية اية3: زبط لكن لم يخرج على شكل مصفوفة [] إذا نظرت لناتج التابع s فهو يعيد مصفوفة بنواتج مربعات الأرقام الممررة يمكنك التأكد من ذلك كما يلي print_r(s(3,5)); // [3, 5] مصفوفة لكن في حلقة الطباعة نحن نستخدم المصفوفة الناتجة ونمر على عناصرها بشكل مفرد، لذا قيمة square$ ستكون عدد وهو مربع أحد الأعداد foreach(s(3, 5) as $square) { // $square عدد echo $square . ','; } اقتباس
السؤال
اية اية3
كيفية انشاء فنكشن في php تاخذ مجموعة من الارقام وترجع مصفوفة من المربعات لكل رقم.
وهذه محاولتي في الحل
تنسيق الشيفرة
8 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.