Hits :
2436
Συναρτήσεις
Συναρτήσεις :
Οι συναρτήσεις στην
PHP είναι ένα τμήμα κώδικα (php block of code) που αποτελείται από 4 μέρη.
Το όνομα κλήσης (function name), το κύριο σώμα (body code), τα ορίσματα (arguments) και οι
επιστρεφόμενες τιμές (return values). Ο σημαντικότερος λόγος ύπαρξης είναι ότι μπορούμε να
χρησιμοποιήσουμε πολλαπλές φορές το ίδιο κομμάτι κώδικα χωρίς να χρειάζεται να το ξαναγράψουμε,
αλλά και το γεγονός ότι μπορούμε να καλούμε τις συναρτήσεις μας είτε από ένα πρόγραμμα είτε από πολλαπλά.
Ορίσματα :
Είναι μεταβλητές ή σταθερές που ορίζονται κατά την δημιουργία της συνάρτησης,και μέσα
από τα ορίσματα μπορούμε να περάσουμε τιμές από το κύριο πρόγραμμά μας μέσα σε αυτή.
Εξ ορισμού οι μεταβλητές που δημιουργούνται εντός μίας συνάρτησης είναι τοπικές,
δλδ δημιουργούνται εντός της συνάρτησης και καταστρέφονται με το πέρας της συνάρτησης.
Εκτός βέβαια εάν τις έχουμε διακυρήξει ως καθολικές.
Επιστρεφόμενες τιμές :
Είναι το αποτέλεσμα μίας συνάρτησης. Η τιμή επιστρέφει στο κύριο πρόγραμμα κάνοντας χρήση
μέσω της διακύρηξης
return
Οι συναρτήσεις αποτελούν ένα τμήμα κώδικα.
Ο λόγος που υπάρχουν είναι ώστε να μπορούμε
να επαναλαμβάνουμε το συγκεκριμένο τμήμα κώδικα ξανά και ξανά
χωρίς όμως να ξαναγράφουμε ολόκληρο τον κώδικα από την αρχή.
Ένα απλό παράδειγμα
είναι το παρακάτω:
function myecho () {
echo "My Example Function<br>\n";
}
myecho();
myecho();
myecho();
Result:
Formatter "highlight/html" not found
top
Ένα σύνθετο παράδειγμα
είναι το παρακάτω:
<?php
function pasxa ($year) {
// ypologismos pasxa
$a = $year % 4;
$b = $year % 7;
$c = $year % 19;
$d = ( 19*$c + 16 ) % 30;
$e = ( 2*$a + 4*$b + 6*$d ) % 7;
$f = $d + $e + 3;
if ( $f < 31 ) { if ($f < 10) $f="0".$f; $pasxa=$f."/04";}
else { $f=($f-30); if ($f < 10) $f="0".$f; $pasxa = $f."/05"; }
return ("Κυριακή, ". $pasxa ."/". $year);
}
echo "Pasxa 2003 = ".pasxa(2003)."<br>\n";
echo "Pasxa 2004 = ".pasxa(2004)."<br>\n";
echo "Pasxa 2005 = ".pasxa(2005)."<br>\n";
echo "Pasxa 2006 = ".pasxa(2006)."<br>\n";
echo "Pasxa 2007 = ".pasxa(2007)."<br>\n";
echo "Pasxa 2008 = ".pasxa(2008)."<br>\n";
echo "Pasxa 2009 = ".pasxa(2009)."<br>\n";
echo "Pasxa 2010 = ".pasxa(2010)."<br>\n";
echo "Pasxa 2011 = ".pasxa(2011)."<br>\n";
?>
Result :
Formatter "highlight/html" not found
Αναδρομική Συνάρτηση
Formatter "highlight/html" not found
Πολύπλοκο παράδειγμα αναδρομικής συνάρτησης
Formatter "highlight/html" not found
top