الفرق بين المراجعتين لصفحة: «PHP/func num args»
إضافة دالة |
طلا ملخص تعديل |
||
(2 مراجعات متوسطة بواسطة نفس المستخدم غير معروضة) | |||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE:الدالة <code>func_num_args()</code> في PHP}}</noinclude> | |||
(PHP 4, PHP 5, PHP 7) | (PHP 4, PHP 5, PHP 7) | ||
تُعيد الدالّة func_num_args() عدد الوسائط الممرّرة إلى الدّالة. | تُعيد الدالّة <code>func_num_args()</code> عدد الوسائط الممرّرة إلى الدّالة. | ||
== الوصف == | == الوصف == | ||
<syntaxhighlight lang="php"> | |||
int func_num_args ( void ) | int func_num_args ( void ) | ||
</syntaxhighlight>تحصل | </syntaxhighlight>تحصل الدالّة <code>func_num_args()</code> على عدد الوسائط الممرّرة إلى الدّالة. | ||
من الممكن أن تُستخدم الدّالة func_num_args() بالتزامن مع الدالّة func_get_args() | من الممكن أن تُستخدم الدّالة <code>func_num_args()</code> بالتزامن مع الدالّة <code>[[PHP/func get args|func_get_args()]]</code> والدالّة <code>[[PHP/func get arg|func_get_arg()]]</code> للسماح للدالات المعرّفة من قبل المستخدم بقبول قوائم وسطاء متغيرة الطول. | ||
== القيم المعادة == | == القيم المعادة == | ||
تُعيد الدالّة <code>func_num_args()</code> عدد الوسائط الممرّرة داخل الدالّة الحالية المعرّفة من قبل المستخدم. | |||
== سجل التغييرات == | == سجل التغييرات == | ||
{| class="wikitable" | {| class="wikitable" | ||
!الإصدار | |||
!الوصف | |||
|- | |- | ||
|5.3.0 | |5.3.0 | ||
سطر 23: | سطر 23: | ||
|- | |- | ||
|5.3.0 | |5.3.0 | ||
|إذا استُدعيت هذه الدالّة من النطاق الخارجي لملف مُضمّن من خلال استدعاء | |إذا استُدعيت هذه الدالّة من النطاق الخارجي لملف مُضمّن من خلال استدعاء <code>[[PHP/include|include]]</code> أو <code>[[PHP/require|require]]</code> من داخل دالّة في الملف المستدعي فستولد تحذيرًا وتُعيد <code>-1</code>. | ||
|} | |} | ||
== الأخطاء والاستثناءات == | == الأخطاء والاستثناءات == | ||
تُولد الدالّة <code>func_num_args()</code> تحذيرًا إذا استدعيت من خارج دالّة معرّفة من قبل المستخدم. | |||
== أمثلة == | == أمثلة == | ||
المثال 1: مثال عن استخدام الدالّة <code>func_num_args()</code><syntaxhighlight lang="php"> | |||
<?php | <?php | ||
function foo() | function foo() | ||
سطر 40: | سطر 40: | ||
foo(1, 2, 3); | foo(1, 2, 3); | ||
?> | ?> | ||
</syntaxhighlight>سينتج المثال السابق الناتج الآتي:<syntaxhighlight> | </syntaxhighlight>سينتج المثال السابق الناتج الآتي:<syntaxhighlight lang="text"> | ||
Number of arguments: 3 | Number of arguments: 3 | ||
</syntaxhighlight>المثال 2: مثال عن استخدام الدالّة func_num_args() قبل و بعد الإصدار PHP 5.3<syntaxhighlight lang="php"> | </syntaxhighlight>المثال 2: مثال عن استخدام الدالّة <code>func_num_args()</code> قبل و بعد الإصدار PHP 5.3<syntaxhighlight lang="php"> | ||
test.php | test.php | ||
<?php | <?php | ||
سطر 59: | سطر 59: | ||
?> | ?> | ||
</syntaxhighlight>سينتج المثال السابق قبل الإصدار PHP 5.3 الناتج الآتي :<syntaxhighlight> | </syntaxhighlight>سينتج المثال السابق قبل الإصدار PHP 5.3 الناتج الآتي :<syntaxhighlight lang="text"> | ||
2 | 2 | ||
</syntaxhighlight>سينتج المثال السابق في الإصدار PHP 5.3 وما بعده الناتج الآتي:<syntaxhighlight> | </syntaxhighlight>سينتج المثال السابق في الإصدار PHP 5.3 وما بعده الناتج الآتي:<syntaxhighlight lang="text"> | ||
Warning: func_num_args(): Called from the global scope - no function | Warning: func_num_args(): Called from the global scope - no function | ||
context in /home/torben/Desktop/code/ml/fna.php on line 3 | context in /home/torben/Desktop/code/ml/fna.php on line 3 | ||
سطر 68: | سطر 68: | ||
== ملاحظات == | == ملاحظات == | ||
باعتبار أن هذه الداّلة تعتمد على النطاق الحالي (current scope) لتحديد تفاصيل المعامل، فلا يمكن استخدامها كمعاملات دالة في الإصدارات السابقة للإصدار 5.3.0. إذا كان يتوجب تمرير هذه القيمة، فيجب أن تسند النتائج إلى متغير، ثم تمرير ذلك المتغير. | |||
== انظر أيضًا == | == انظر أيضًا == | ||
* الدالّة <code>[[PHP/func get arg|func_get_arg()]]</code>: إعادة وسيط من قائمة الوسائط. | |||
* الدالّة <code>[[PHP/func get args|func_get_args()]]</code>: إعادة مصفوفة فيها الوسائط المُمرَّرة إلى الدالة | |||
* [[PHP/func get arg| | * الدالّة <code>[[PHP/ReflectionFunctionAbstract/getNumberOfParameters|ReflectionFunctionAbstract::getNumberOfParameters()]]</code>. | ||
* الدالّة func_get_args() | |||
* الدالّة ReflectionFunctionAbstract::getNumberOfParameters(). | |||
== مصادر == | == مصادر == | ||
* [http://php.net/manual/en/function.func-num-args.php صفحة الدالة func_num_args في توثيق PHP الرسمي.] | * [http://php.net/manual/en/function.func-num-args.php صفحة الدالة func_num_args في توثيق PHP الرسمي.] | ||
[[تصنيف:PHP]] | |||
[[تصنيف:PHP Function]] | |||
[[تصنيف:PHP Function Handling]] |
المراجعة الحالية بتاريخ 12:58، 15 أبريل 2018
(PHP 4, PHP 5, PHP 7)
تُعيد الدالّة func_num_args()
عدد الوسائط الممرّرة إلى الدّالة.
الوصف
int func_num_args ( void )
تحصل الدالّة func_num_args()
على عدد الوسائط الممرّرة إلى الدّالة.
من الممكن أن تُستخدم الدّالة func_num_args()
بالتزامن مع الدالّة func_get_args()
والدالّة func_get_arg()
للسماح للدالات المعرّفة من قبل المستخدم بقبول قوائم وسطاء متغيرة الطول.
القيم المعادة
تُعيد الدالّة func_num_args()
عدد الوسائط الممرّرة داخل الدالّة الحالية المعرّفة من قبل المستخدم.
سجل التغييرات
الإصدار | الوصف |
---|---|
5.3.0 | يمكن الآن استخدام هذه الدالّة في قوائم المعاملات. |
5.3.0 | إذا استُدعيت هذه الدالّة من النطاق الخارجي لملف مُضمّن من خلال استدعاء include أو require من داخل دالّة في الملف المستدعي فستولد تحذيرًا وتُعيد -1 .
|
الأخطاء والاستثناءات
تُولد الدالّة func_num_args()
تحذيرًا إذا استدعيت من خارج دالّة معرّفة من قبل المستخدم.
أمثلة
المثال 1: مثال عن استخدام الدالّة func_num_args()
<?php
function foo()
{
$numargs = func_num_args();
echo "Number of arguments: $numargs\n";
}
foo(1, 2, 3);
?>
سينتج المثال السابق الناتج الآتي:
Number of arguments: 3
المثال 2: مثال عن استخدام الدالّة func_num_args()
قبل و بعد الإصدار PHP 5.3
test.php
<?php
function foo() {
include './fna.php';
}
foo('First arg', 'Second arg');
?>
fna.php
<?php
$num_args = func_num_args();
var_export($num_args);
?>
سينتج المثال السابق قبل الإصدار PHP 5.3 الناتج الآتي :
2
سينتج المثال السابق في الإصدار PHP 5.3 وما بعده الناتج الآتي:
Warning: func_num_args(): Called from the global scope - no function
context in /home/torben/Desktop/code/ml/fna.php on line 3
-1
ملاحظات
باعتبار أن هذه الداّلة تعتمد على النطاق الحالي (current scope) لتحديد تفاصيل المعامل، فلا يمكن استخدامها كمعاملات دالة في الإصدارات السابقة للإصدار 5.3.0. إذا كان يتوجب تمرير هذه القيمة، فيجب أن تسند النتائج إلى متغير، ثم تمرير ذلك المتغير.
انظر أيضًا
- الدالّة
func_get_arg()
: إعادة وسيط من قائمة الوسائط. - الدالّة
func_get_args()
: إعادة مصفوفة فيها الوسائط المُمرَّرة إلى الدالة - الدالّة
ReflectionFunctionAbstract::getNumberOfParameters()
.