الفرق بين المراجعتين لصفحة: «PHP/func num args»

من موسوعة حسوب
< PHP
إضافة دالة
 
طلا ملخص تعديل
 
(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">
<syntaxhighlight lang="php">
int func_num_args ( void )
int func_num_args ( void )
</syntaxhighlight>تحصل الدالّة  func_num_args()‎ على عدد الوسائط الممرّرة إلى الدّالة.
</syntaxhighlight>تحصل الدالّة <code>func_num_args()‎</code> على عدد الوسائط الممرّرة إلى الدّالة.


من الممكن أن تُستخدم الدّالة func_num_args()‎ بالتزامن مع الدالّة func_get_args()‎ و الدالّة [[PHP/func get arg|func_get_arg()‎]] للسماح للدالات المعرّفة من قبل المستخدم بقبول قوائم وسطاء متغيرة الطول.
من الممكن أن تُستخدم الدّالة <code>func_num_args()‎</code> بالتزامن مع الدالّة <code>[[PHP/func get args|func_get_args()]]</code> والدالّة <code>[[PHP/func get arg|func_get_arg()‎]]</code> للسماح للدالات المعرّفة من قبل المستخدم بقبول قوائم وسطاء متغيرة الطول.


== القيم المعادة ==
== القيم المعادة ==
----تُعيد الدالّة func_num_args()‎ عدد الوسائط الممرّرة داخل الدالّة الحالية المعرّفة من قبل المستخدم.
تُعيد الدالّة <code>func_num_args()‎</code> عدد الوسائط الممرّرة داخل الدالّة الحالية المعرّفة من قبل المستخدم.


== سجل التغييرات ==
== سجل التغييرات ==
----
{| class="wikitable"
{| class="wikitable"
|الإصدار
!الإصدار
|الوصف
!الوصف
|-
|-
|5.3.0
|5.3.0
سطر 23: سطر 23:
|-
|-
|5.3.0
|5.3.0
|إذا استُدعيت هذه الدالّة من النطاق الخارجي لملف مُضمّن من خلال استدعاء  include أو  require  من داخل دالّة في الملف المستدعي فستولد تحذيرًا وتُعيد ‎-1.
|إذا استُدعيت هذه الدالّة من النطاق الخارجي لملف مُضمّن من خلال استدعاء <code>[[PHP/include|include]]</code> أو  <code>[[PHP/require|require]]</code> من داخل دالّة في الملف المستدعي فستولد تحذيرًا وتُعيد <code>‎-1</code>.
|}
|}


== الأخطاء والاستثناءات ==
== الأخطاء والاستثناءات ==
----تُولد الدالّة func_num_args()‎ تحذيرًا إذا استدعيت من خارج دالّة معرّفة من قبل المستخدم.
تُولد الدالّة <code>func_num_args()‎</code> تحذيرًا إذا استدعيت من خارج دالّة معرّفة من قبل المستخدم.


== أمثلة ==
== أمثلة ==
----المثال 1: مثال عن استخدام الدالّة func_num_args()‎<syntaxhighlight lang="php">
المثال 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. إذا كان يتوجب تمرير هذه القيمة، فيجب أن تسند النتائج إلى متغير، ثم تمرير ذلك المتغير.
باعتبار أن هذه الداّلة تعتمد على النطاق الحالي (current scope) لتحديد تفاصيل المعامل، فلا يمكن استخدامها كمعاملات دالة في الإصدارات السابقة للإصدار 5.3.0. إذا كان يتوجب تمرير هذه القيمة، فيجب أن تسند النتائج إلى متغير، ثم تمرير ذلك المتغير.


== انظر أيضًا ==
== انظر أيضًا ==
----
* الدالّة <code>[[PHP/func get arg|func_get_arg()‎]]</code>: إعادة وسيط من قائمة الوسائط.
* السياق النحوي في+PHP 5.6.
* الدالّة <code>[[PHP/func get args|func_get_args()‎]]</code>: إعادة مصفوفة فيها الوسائط المُمرَّرة إلى الدالة
* [[PHP/func get arg|الدالّة 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. إذا كان يتوجب تمرير هذه القيمة، فيجب أن تسند النتائج إلى متغير، ثم تمرير ذلك المتغير.

انظر أيضًا

مصادر