الفرق بين المراجعتين ل"PHP/func num args"

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

مراجعة 12:54، 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. إذا كان يتوجب تمرير هذه القيمة، فيجب أن تسند النتائج إلى متغير، ثم تمرير ذلك المتغير.

انظر أيضًا


مصادر