القائمة الرئيسية

الصفحات

 PHP - Functions|الدالة



PHP functions are similar to other programming languages. A function is a piece of code which takes one more input in the form of parameter and does some processing and returns a value.

وظائف PHP تشبه لغات البرمجة الأخرى. الوظيفة عبارة عن جزء من الكود يأخذ مدخلاً آخر في شكل معلمة ويقوم ببعض المعالجة ويعيد قيمة.


You already have seen many functions like fopen() and fread() etc. They are built-in functions but PHP gives you option to create your own functions as well.

There are two parts which should be clear to you −

لقد رأيت بالفعل العديد من الوظائف مثل fopen () و fread () وما إلى ذلك. إنها وظائف مدمجة ولكن PHP تمنحك خيارًا لإنشاء وظائفك الخاصة أيضًا. هناك جزءان يجب أن يكونا واضحين لك -

  • Creating a PHP Function
  • Calling a PHP Function

In fact you hardly need to create your own PHP function because there are already more than 1000 of built-in library functions created for different area and you just need to call them according to your requirement.

Please refer to PHP Function Reference for a complete set of useful functions.

في الواقع ، لا تحتاج إلى إنشاء وظيفة PHP الخاصة بك لأن هناك بالفعل أكثر من 1000 وظيفة مكتبة مضمنة تم إنشاؤها لمنطقة مختلفة وتحتاج فقط إلى الاتصال بها وفقًا لمتطلباتك. يرجى الرجوع إلى مرجع وظائف PHP للحصول على مجموعة كاملة من الوظائف المفيدة.

Creating PHP Function

Its very easy to create your own PHP function. Suppose you want to create a PHP function which will simply write a simple message on your browser when you will call it. Following example creates a function called writeMessage() and then calls it just after creating it.

Note that while creating a function its name should start with keyword function and all the PHP code should be put inside { and } braces as shown in the following example below −

إنشاء وظيفة PHP من السهل جدًا إنشاء وظيفة PHP الخاصة بك. لنفترض أنك تريد إنشاء وظيفة PHP والتي ستكتب ببساطة رسالة بسيطة على متصفحك عندما تسميها. المثال التالي ينشئ وظيفة تسمى writeMessage () ثم يستدعيها بعد إنشائها مباشرة. لاحظ أنه أثناء إنشاء دالة ، يجب أن يبدأ اسمها بوظيفة الكلمة الرئيسية ويجب وضع جميع أكواد PHP داخل الأقواس {and} كما هو موضح في المثال التالي أدناه -


<html>
   
   <head>
      <title>Writing PHP Function</title>
   </head>
   
   <body>
      
      <?php
         /* Defining a PHP Function */
         function writeMessage() {
            echo "You are really a nice person, Have a nice time!";
         }
         
         /* Calling a PHP Function */
         writeMessage();
      ?>
      
   </body>
</html>

This will display following result − النتيجة هذه

You are really a nice person, Have a nice time!

PHP Functions with Parameters



PHP gives you option to pass your parameters inside a function. You can pass as many as parameters your like. These parameters work like variables inside your function. Following example takes two integer parameters and add them together and then print them.

PHP Functions with Parameters PHP يمنحك خيار تمرير المعلمات داخل دالة. يمكنك تمرير العديد من المعلمات التي تحبها. تعمل هذه المعلمات مثل المتغيرات داخل وظيفتك. يأخذ المثال التالي معلمتين صحيحتين ويجمعهما معًا ثم يطبعهما.


<html>
   
   <head>
      <title>Writing PHP Function with Parameters</title>
   </head>
   
   <body>
   
      <?php
         function addFunction($num1, $num2) {
            $sum = $num1 + $num2;
            echo "Sum of the two numbers is : $sum";
         }
         
         addFunction(10, 20);
      ?>
      
   </body>
</html>

This will display following result −النتيجة هذه

Sum of the two numbers is : 30

Passing Arguments by Reference

It is possible to pass arguments to functions by reference. This means that a reference to the variable is manipulated by the function rather than a copy of the variable's value.

Any changes made to an argument in these cases will change the value of the original variable. You can pass an argument by reference by adding an ampersand to the variable name in either the function call or the function definition.

Following example depicts both the cases.

تمرير الوسيطات حسب المرجع من الممكن تمرير الوسيطات إلى الوظائف عن طريق المرجع. هذا يعني أن الإشارة إلى المتغير يتم معالجتها بواسطة الوظيفة بدلاً من نسخة من قيمة المتغير. أي تغييرات يتم إجراؤها على وسيطة في هذه الحالات ستغير قيمة المتغير الأصلي. يمكنك تمرير وسيطة حسب المرجع عن طريق إضافة علامة العطف إلى اسم المتغير إما في استدعاء الوظيفة أو في تعريف الدالة. المثال التالي يصور كلتا الحالتين.




<html>
   
   <head>
      <title>Passing Argument by Reference</title>
   </head>
   
   <body>
      
      <?php
         function addFive($num) {
            $num += 5;
         }
         
         function addSix(&$num) {
            $num += 6;
         }
         
         $orignum = 10;
         addFive( $orignum );
         
         echo "Original Value is $orignum<br />";
         
         addSix( $orignum );
         echo "Original Value is $orignum<br />";
      ?>
      
   </body>
</html>

This will display following result −

Original Value is 10
Original Value is 16 

PHP Functions returning value

A function can return a value using the return statement in conjunction with a value or object. return stops the execution of the function and sends the value back to the calling code.

You can return more than one value from a function using return array(1,2,3,4).

Following example takes two integer parameters and add them together and then returns their sum to the calling program. Note that return keyword is used to return a value from a function.

دالة PHP تقوم بإرجاع قيمة يمكن للدالة أن ترجع قيمة باستخدام عبارة return مقترنة بقيمة أو كائن. يؤدي الإرجاع إلى إيقاف تنفيذ الوظيفة وإرسال القيمة مرة أخرى إلى رمز الاستدعاء. يمكنك إرجاع أكثر من قيمة من دالة باستخدام مصفوفة الإرجاع (1،2،3،4). يأخذ المثال التالي معلمتين صحيحتين ويجمعهما معًا ثم يعيد مجموعهما إلى البرنامج المستدعي. لاحظ أنه يتم استخدام الكلمة الأساسية للعودة لإرجاع قيمة من دالة.


<html>
   
   <head>
      <title>Writing PHP Function which returns value</title>
   </head>
   
   <body>
   
      <?php
         function addFunction($num1, $num2) {
            $sum = $num1 + $num2;
            return $sum;
         }
         $return_value = addFunction(10, 20);
         
         echo "Returned value from the function : $return_value";
      ?>
      
   </body>
</html>

This will display following result −

Returned value from the function : 30

Setting Default Values for Function Parameters

You can set a parameter to have a default value if the function's caller doesn't pass it.

Following function prints NULL in case use does not pass any value to this function.

تعيين القيم الافتراضية لمعلمات الوظيفة يمكنك تعيين معلمة لتكون لها قيمة افتراضية إذا لم يمررها من يستدعي الوظيفة. تقوم الوظيفة التالية بطباعة NULL في حالة عدم تمرير الاستخدام لأي قيمة لهذه الوظيفة.




   
   <head>
      <title>Writing PHP Function which returns value</title>
   </head>
   
   <body>
      
      <?php
         function printMe($param = NULL) {
            print $param;
         }
         
         printMe("This is test");
         printMe();
      ?>
      
   </body>
</html>

This will produce following result −

This is test

Dynamic Function Calls

It is possible to assign function names as strings to variables and then treat these variables exactly as you would the function name itself. Following example depicts this behaviour.

استدعاءات الوظائف الديناميكية من الممكن تعيين أسماء الوظائف كسلاسل إلى متغيرات ثم التعامل مع هذه المتغيرات تمامًا كما تفعل مع اسم الوظيفة نفسه. المثال التالي يصور هذا السلوك.


<html>
   
   <head>
      <title>Dynamic Function Calls</title>
   </head>
   
   <body>
      
      <?php
         function sayHello() {
            echo "Hello<br />";
         }
         
         $function_holder = "sayHello";
         $function_holder();
      ?>
      
   </body>
</html>

This will display following result −النتيجة هذه

Hello

هل اعجبك الموضوع :

تعليقات