Forum und email

Συναρτήσεις

Table of Contents

Συναρτήσεις οριζόμενες από το χρήστη

Μια συνάρτηση μπορεί να οριστεί χρησιμοποιώντας την ακόλουθη σύνταξη:

Example#1 Ψευδοκώδικας που δείχνει τη χρήση μια συνάρτησης

<?php
function foo ($arg_1$arg_2, ..., $arg_n)
{
    echo 
"Example function.\n";
    return 
$retval;
}
?>

Οποιοσδήποτε έγκυρος PHP κώδικας μπορεί να εμφανιστεί σε μια συνάρτηση, ακόμη και σε άλλες συναρτήσεις και σε ορισμούς κλάσεων (class).

Στην PHP 3, οι συναρτήσεις πρέπει να ορίζονται πριν γίνει κάποια αναφορά σ' αυτές. Τέτοια απαίτηση δεν υπάρχει στην PHP 4. Εκτός αν η συνάρτηση ορίζεται σε μια υπόθεση όπως μπορείτε να δείτε στα παρακάτω δύο παραδείγματα.

Όταν μια συνάρτηση ορίζεται με υποθετικό τρόπο όπως στα δυο παρακάτω παραδείγματα ο ορισμός της πρέπει να προηγείται από το σημείο στο οποίο καλείται.

Example#2 Υποθετικές συναρτήσεις

<?php

$makefoo 
true;

/* We can't call foo() from here 
   since it doesn't exist yet,
   but we can call bar() */

bar();

if (
$makefoo) {
  function 
foo ()
  {
    echo 
"I don't exist until program execution reaches me.\n";
  }
}

/* Now we can safely call foo()
   since $makefoo evaluated to true */

if ($makefoofoo();

function 
bar() 
{
  echo 
"I exist immediately upon program start.\n";
}

?>

Example#3 Συναρτήσεις μέσα σε συναρτήσεις

<?php
function foo() 
{
  function 
bar() 
  {
    echo 
"I don't exist until foo() is called.\n";
  }
}

/* We can't call bar() yet
   since it doesn't exist. */

foo();

/* Now we can call bar(),
   foo()'s processesing has
   made it accessable. */

bar();

?>

Η PHP δεν υποστηρίζει υπερφόρτωση συναρτήσεων (function overloading), ούτε είναι δυνατό να υπάρχουν μη-καθορισμένες ή ξανά-καθορισμένες συναρτήσεις που έχουν δηλωθεί προηγουμένως.

Note: Τα ονόματα των συναρτήσεων είναι case-insensitive, αλλά γενικά είναι καλή τακτική να καλούμε τις συναρτήσεις όπως εμφανίζονται στη δήλωση τους.

Η PHP 3 δεν υποστηρίζει μεταβλητές αριθμών ή παραμέτρους στις συναρτήσεις, παρόλο που οι προκαθορισμένες παράμετροι υποστηρίζονται (βλέπε Τιμές προκαθορισμένων παραμέτρων για περισσότερες πληροφορίες). Η PHP 4 υποστηρίζει και τα δυο: βλέπε Λίστες μεταβλητού μήκους παραμέτρων και τις αναφορές στις συναρτήσεις για τις func_num_args(), func_get_arg(), και func_get_args() για περισσότερες πληροφορίες.