Εισαγωγή στο PHP. Τί είναι το PHP. Σταύρος Πολυβίου

Σχετικά έγγραφα
ΕισαγωγήστουςΗ/Υ. PHP Hypertext Preprocessor

Γιάννης Σαμωνάκης. 1 ο ΣΧΟΛΕΙΟ ΚΩΔΙΚΑ «Βασικά Θέματα Προγραμματισμού στην Ανάπτυξη Δυναμικών Διαδικτυακών Εφαρμογών» (Part 4 - PHP)

ΕΠΛ 012. JavaScripts

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client

Εισαγωγή στην PHP. ΕΣΔ 516 Τεχνολογίες Διαδικτύου. Περιεχόμενα. Περιεχόμενα. ΕΣ 516: Τεχνολογίες ιαδικτύου. ΕΣ 516: Τεχνολογίες ιαδικτύου

PHP 1. Διδάσκοντες: Π. Αγγελάτος, Δ. Ζήνδρος Επιμέλεια διαφανειών: Δ. Ζήνδρος Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Λειτουργικά. Συστήματα Ι. Φ ρ ο ν τ ι σ τ ή ρ ι ο. Αριστείδης Ηλίας. Εργαστήριο Ηλεκτρονικών Υπολογιστών

Διάλεξη 1. Πράξεις Τελεστές Έλεγχος Ροής

Εισαγωγή στον Προγραμματισμό

Εισαγωγή στην PHP. ΕΣΔ 232 Διαχείριση Δεδομένων στη Κοινωνία της Πληροφορίας. Περιεχόμενα. Περιεχόμενα

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ

ΕΝΟΤΗΤΑ 4 Λήψη Αποφάσεων και Συναρτήσεις Ελέγχου

Θέματα Προγραμματισμού Διαδικτύου ~ PHP ~

JAVASCRIPT 1. Διδάσκοντες: Π. Αγγελάτος, Δ. Ζήνδρος Επιμέλεια διαφανειών: Π. Αγγελάτος Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Β. Εισαγωγή στον Προγραμματισμό Η/Υ με την JavaScript

Τεχνολογίες Διαδικτύου. Server Side Scripting I PHP

TEC610 Δυναμικές Εφαρμογές Διαδικτύου (ΣΤ εξάμηνο)

Διάλεξη 3: Προγραμματισμός σε JAVA I. Διδάσκων: Παναγιώτης Ανδρέου

2.1. Εντολές Σχόλια Τύποι Δεδομένων

Εφαρµογές διαδικτύου µε PHP

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

Αντικειµενοστρεφής Προγραµµατισµός

Βασικά στοιχεία της Java

Παρουσίαση PHP. Μιχάλης Ζήσης GreekLUG

Δομές ελέγχου ροής προγράμματος

Οι εντολές ελέγχου της ροής ενός προγράµµατος

ΗΥ-150. Προγραµµατισµός. Εντολές Ελέγχου Ροής

Προγραµµατισµός ΙΙ. Ηγλώσσααντικειµενοστραφούς. ιδάσκων ηµήτριος Κατσαρός, Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας

Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στην Python

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008

ικτυακά Πολυμέσα Ι (Β Έτος, 3ο εξ) ιάλεξη #8η: Javascript: Τεχνικές εντοπισμού/διόρθωσης λαθών, τελεστές, δομές ελέγχου, βρόχοι επανάληψης

Στοιχειώδης προγραμματισμός σε C++

Επιλογή και επανάληψη. Λογική έκφραση ή συνθήκη

if(συνθήκη) {... // οµάδα εντολών } C: Από τη Θεωρία στην Εφαρµογή 5 ο Κεφάλαιο

Shell Scripts: loops / if / test

Ψευδοκώδικας. November 7, 2011

Αντικειμενοστρεφής Προγραμματισμός

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΜΕ ΧΡΗΣΗ PHP

Κεφάλαιο : Επαναλήψεις (for, do-while)

Προγραμματισμός Η/Υ (ΤΛ2007 )

Παρακάτω δίνεται o σκελετός προγράμματος σε γλώσσα C. Σχολιάστε κάθε γραμμή του κώδικα.

Προγραμματισμός ΗΥ και Υπολογιστική Φυσική. Χρήστος Γκουμόπουλος

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

Τεχνικός Εφαρμογών Πληροφορικής

a = 10; a = k; int a,b,c; a = b = c = 10;

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 3 η : Επίλυση Προβληµάτων Χειµερινό Εξάµηνο 2011

Εισαγωγή στη Matlab 2 Εισαγωγή στην Αριθμητική Ανάλυση Διδάσκων: Γεώργιος Ακρίβης Βοηθός: Δημήτριος Ζαβαντής

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java II

Η γλώσσα προγραμματισμού EEL

Πληρουορική Γ Γσμμασίοσ

ΗΥ-150. Προγραμματισμός

ΗΥ-150. Προγραμματισμός

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

Βασικά Στοιχεία της Java

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python

Κεφάλαιο 4 Σημασιολογία μιας Απλής Προστακτικής Γλώσσας

Ανάπτυξη και Σχεδίαση Λογισμικού

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 3 Ο. Σταθερές-Παράμετροι-Μεταβλητές Αριθμητικοί & Λογικοί Τελεστές Δομή ελέγχου-επιλογής Σύνθετοι έλεγχοι

for for for for( . */

Δομημένος Προγραμματισμός (ΤΛ1006)

Ανάπτυξη Μεγάλων Εφαρµογών στη Γλώσσα C (2)

Εργαστήριο Java. Διδάσκουσα: Εργαστηριακοί Συνεργάτες:

Βασικάχαρακτηριστικάτηςγλώσσας. Πίνακες, Έλεγχος Ροής και Βρόχοι

Εφαρμοσμένη Πληροφορική ΙΙ (Θ) Είσοδος/Έξοδος Μεταβλητές Τύποι Μεταβλητών Τελεστές και Προτεραιότητα Μετατροπές Μεταξύ Τύπων

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

Κεφάλαιο : Επαναλήψεις (oι βρόχος While) ( ιάλεξη 9) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού

ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ

Εισαγωγή στη γλώσσα προγραμματισμού C++

PERL. Δήμος Παύλου Δημήτρης Κουζαπάς

ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Ασκήσεις σε Επαναληπτικούς Βρόχους και Συναρτήσεις. Επανάληψη για την ενδιάμεση εξέταση. (Διάλεξη 13)

Εισαγωγή στον Προγραµµατισµό «C»

Είδη εντολών. Απλές εντολές. Εντολές ελέγχου. Εκτελούν κάποια ενέργεια. Ορίζουν τον τρόπο με τον οποίο εκτελούνται άλλες εντολές

3. Εκφράσεις και έλεγχος ροής

ιαδικαστικός Προγραμματισμός

Αντώνης Χρυσόπουλος Κατερίνα Κυπριώτη Στέλιος Μόσχογλου Θεοδόσης Σουργκούνης ΒΑΣΙΚΕΣ ΕΝΤΟΛΕΣ PHP. PHP 2: The Return of PHP Η Δευτέρα Παρουσίαση

Οι εντολές ελέγχου της ροής ενός προγράμματος.

Θέματα Προγραμματισμού Η/Υ

Κεφάλαιο : Επαναλήψεις (oι βρόγχοιfor, do-while) (Διάλεξη 10) Εντολές Επανάληψης που θα καλυφθούν σήμερα

Διαδικασιακός Προγραμματισμός

TEC610 Δυναμικές Εφαρμογές Διαδικτύου (ΣΤ εξάμηνο)

Κεφάλαιο : Επαναλήψεις (o βρόγχος While) (Διάλεξη 9) Δομές Έλεγχου Προγράμματος

Διάλεξη 6: Δείκτες και Πίνακες

Διαδικασιακός Προγραμματισμός

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 8/11/07

Α. unsigned int Β. double. Γ. int. unsigned char x = 1; x = x + x ; x = x * x ; x = x ^ x ; printf("%u\n", x); Β. unsigned char

ιαχείριση Πληροφοριών στο ιαδίκτυο

Μέρος 3 ο : Βασικές Έννοιες για δυναμικές ιστοσελίδες

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) (PASCAL ) Εντολές Ελέγχου & Επανάληψης

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

PHP 2. Διδάσκοντες: Π. Αγγελάτος, Δ. Ζήνδρος Επιμέλεια διαφανειών: Π. Αγγελάτος Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Σύντομες εισαγωγικές σημειώσεις για την. Matlab

Δομημένος Προγραμματισμός (ΤΛ1006)

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 8 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

Στόχοι και αντικείμενο ενότητας. Προτάσεις επανάληψης. Έλεγχος ροής προγράμματος. #5.. Εντολές Επανάληψης

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java

Transcript:

Εισαγωγή στο PHP Σταύρος Πολυβίου Τί είναι το PHP PHP Hypertext Preprocessor ηµιουργήθηκε από τη Zend Technologies Open source Τεχνολογία Server-side Scripting Γιατησυγγραφήπρογραµµάτων που τρέχουν στον εξυπηρετητή Παρόµοιο µε JSP και ASP 1

Πως δουλεύει Εγκαθίσταται ως module πάνω σε ένα εξυπηρετητή διαδικτύου (web server), π.χ. Apache ιαχειρίζεται όλα τα αρχεία µε επέκταση.php Κανονικά HTML αρχεία µε ενσωµατωµένα κοµµάτια κώδικα PHP σε συγκεκριµένα σηµεία Ο κώδικας σε PHP παράγει καινούργια κοµµάτια HTML στα σηµεία που εµφανίζεται Ο φυλλοµετρητής του χρήστη λαµβάνει ένα καθαρό HTML αρχείο χωρίς κώδικα PHP Αρχιτεκτονική τριών επιπέδων (three-tier architecture) SQL HTTP request Αποτελέσµατα (πίνακες) PHP HTML Σύστηµα διαχείρισης δεδοµένων (Database Management System) Εξυπηρετητής διαδικτύου + PHP (Web Server + PHP) Φυλλοµετρητής (Web Browser) 2

Παράδειγµα <html> <body> <?php echo Hello world ;?> </body> </html> <html> <body> Hello world </body> </html> Αρχείο PHP Παραγόµενο αρχείο HTML Hello world Αποτέλεσµα στο φυλλοµετρητή Μεταβλητές και σχόλια Τα ονόµατα των µεταβλητών προηγούνται πάντοτε µε το σύµβολο $ Αυτό µας επιτρέπει να τις ενσωµατώνουµε εύκολασε συµβολοσειρές (strings) Αυτό γίνεται µόνο όταν χρησιµοποιούµε διπλά εισαγωγικά (... ) <html> <body> <?php // Αυτό είναι ένα σχόλιο $name = Stavros Polyviou ; echo Hello $name ; /* Αυτό είναι ένα σχόλιο που καταλαµβάνει πολλές γραµµές */?> </body> </html> 3

Μετα-µεταβλητές (variable variables) Το όνοµα µίας µεταβλητής µπορεί να καθοριστεί µέσω µίας άλλης µεταβλητής $a = One ; $b = Two ; $selected = a ; $$selected = Alpha ; // $a = Alpha ; Προς αποφυγή λαθών, µπορείτε να χρησιµοποιήσετε... για µάζεµα echo $$selected ; // echo $a ; Αναφορές (references) Στο PHP µεταφέρονται οι τιµές και όχι οι διευθύνσεις στη µνήµη τωνεπιχειρηµάτων µίας ρουτίνας (pass by value) Ηδηµιουργία µίας αναφοράς µας επιτρέπει να αναφερθούµε σεµία διεύθυνση στη µνήµη µε περισσότερο από ένα ονόµατα Συνεπώς µας επιτρέπει να τροποποιήσουµε τα επιχειρήµατα µίας ρουτίνας (pass by reference) 4

Παράδειγµα ρουτίνα που τροποποιεί το επιχείρηµά της function foo(&$var) $var++; $a=5; foo($a); // $a = 6; Καθολικές µεταβλητές (global variables) σε ρουτίνες Η εµβέλεια των καθολικών µεταβλητών δεν επεκτέινεται µέσα στα όρια του ορισµού µίας ρουτίνας Θα πρέπει να δηλώσουµε ρητά µέσα στη ρουτίνα σε ποιές καθολικές µεταβλητές θα αναφερθεί, αλλιώς θα δηµιουργηθούν νέες τοπικές µεταβλητές µε το ίδιο όνοµα function foo(&$var) global $increment; $var += $increment; $increment = 2; $a=5; foo($a); // $a = 7; 5

Πίνακες (arrays) Αντίθετα µε άλλες γλώσσες, οι πίνακες του PHP συµπεριφέρονται σαν δυναµικές λίστες (βλ. την κλάση Vector στην Java) Μπορούν να ταξινοµηθούν, να συγκεραστούν, να επεκταθούν ή να συρρικνωθούν κτλ Μπορούν να αποθηκεύσουν ανόµοια στοιχεία Πίνακες - δηµιουργία ηµιουργούνται συνήθως µε την εντολή array() array([κλειδί =>] Τιµή,...) Το κλειδί ταυτοποιεί το κάθε στοιχείο Μπορεί να είναι ακέραιος αριθµός ή συµβολοσειρά 6

ηµιουργία πίνακα - παράδειγµα $arr = array("foo" => "bar", 12 => true); echo $arr["foo"]; // bar echo $arr[12]; // 1 Το πρώτο κλειδί είναι συµβολοσειρά Το δεύτερο κλειδί είναι αριθµός Η πρώτη τιµή είναισυµβολοσειρά Η δεύτερη τιµή είναιτιµή λογικήςπουερµηνεύεται ως αριθµός (true = 1, false = 0) ηµιουργία πίνακα παράλειψη κλειδιού Αν το κλειδί κάποιου στοιχείου δεν καθοριστεί κατά τη δηµιουργία του πίνακα τότε Αν δεν υπάρχει κανένα στοιχείο στον πίνακα µε κλειδί κάποιο θετικό ακέραιο αριθµό ήτο0 τότε το κλειδί του νέου στοιχείου είναι 0 Αν υπάρχει έστω και ένα στοιχείο µε κλειδί κάποιο θετικό ακέραιο αριθµό ήτο0 τότε το κλειδί του νέου στοιχείου είναι ο µεγαλύτερος θετικός ακέραιος που χρησιµοποιείται ως κλειδί + 1 Αν υπάρχει ήδη κάποιο στοιχείο µε αυτό το κλειδί τότε επεγγράφεται από το νέο στοιχείο 7

Παράλειψη κλειδιού - παράδειγµα Η εντολή $arr = array(5 => 43, 32, 56, "b" => 12); ισοδυναµεί µε $arr = array(5 => 43, 6 => 32, 7 => 56, "b" => 12); Προσθήκη/διαγραφή/τροποποίηση στοιχείου $arr = array(5 => 1, 12 => 2); // Προσθήκη νέου στοιχείου µε κλειδί τον αριθµό 13 $arr[] = 56; // Προσθήκη νέου στοιχείου µε κλειδί τη συµβολοσειρά «x» $arr["x"] = 42; // ιαγραφή του στοιχείου µε κλειδί τον αριθµό 5 unset($arr[5]); // ιαγραφή ολόκληρου του πίνακα unset($arr); 8

ηµιουργία πολυδιάστατων πινάκων $arr = array("somearray" => array(6 => 5, 13 => 9, "a" => 42) ); echo $arr["somearray"][6]; // 5 echo $arr["somearray"][13]; // 9 echo $arr["somearray"]["a"]; // 42 Αριθµητικοί τελεστές Τελεστής + - * / % ++ Νόηµα Πρόσθεση Αφαίρεση Πολλαπλασιασµός ιαίρεση ιαίρεση υπολοίπου Αύξηση Παράδειγµα $a + 5 $a - $b 5 * 3 5 / $a $a % 3 $a++ -- Μείωση $b-- 9

Τελεστές ανάθεσης Τελεστής = += -= *= /= %= Παράδειγµα $a = $b $a += $b $a -= $b $a *= $b $a /= $b $a %= $b Νόηµα $a = $b $a = $a + $b $a = $a - $b $a = $a * $b $a = $a / $b $a = $a % $b Τελεστές σύγκρισης Τελεστής Νόηµα Παράδειγµα == Ισούται $a == $b (false)!= εν ισούται $a!= $b (true) > Είναι µεγαλύτερο $a > $b (false) < Είναι µικρότερο $a < $b (true) >= Μεγαλύτερο ή ίσο $a >= $b (false) <= Μικρότερο ή ίσο $a <= $b (true) $a = 1 $b = 2 10

Τελεστές πινάκων Τελεστής Νόηµα Παράδειγµα + Ένωση στοιχεία από το δεύτερο πίνακα µε κοινά κλειδία επεγγράφονται $a + $b 1, 2 == Ισότητα ίδιες τιµές για αντίστοιχα κλειδία $a == $b (false) $a == $c (true) === Ταύτιση ίδιες τιµές για αντίστοιχα κλειδία µε την ίδια σειρά $a === $b (false) $a === $c (false)!= Ανισότητα $a!= $b (true)!== Μη ταύτιση $a!== $b (true) $a = array(1, 2) $b = array(2, 1) $c = array(1 => 2, 0=>1) Τελεστές λογικής Τελεστής Νόηµα Παράδειγµα && AND $a == $b && $a == 1 (false) OR $a == $b $a == 1 (true)! NOT!($a == $b) (true) $a = 1 $b = 2 11

H εντολή if if (συνθήκη) Εντολή που εκτελείται αν ικανοποιηθεί η συνθήκη; [ else Εντολή που εκτελείται αν δεν ικανοποιηθεί η συνθήκη; ] if (συνθήκη) Εντολές που εκτελούνται αν ικανοποιηθεί η συνθήκη; [ else Εντολές που εκτελούνται αν δεν ικανοποιηθεί η συνθήκη; ] Ηεντολήif - παράδειγµα <html> <body> <?php $d=date("d"); if ($d=="fri") echo "Have a nice weekend!"; else echo "Have a nice day!";?> </body> </html> 12

Ηεντολήswitch switch (έκφραση) case τιµή 1 : Κώδικας που εκτελέιται αν ισχύει η συνθήκη έκφραση == τιµή 1 ; break; // Χωρίς το break η εκτέλεση συνεχίζεται από εδώ case τιµή 2 : Κώδικας που εκτελέιται αν ισχύει η συνθήκη έκφραση == τιµή 2 ; break;... default: Κώδικας που εκτελέιται αν δέν ισχύει καµµία συνθήκη του τύπου έκφραση == τιµή n ; Ηεντολήswitch - παράδειγµα <html> <body> <?php switch ($username) case admin : echo Welcome administrator"; break; case guest : echo Welcome guest!"; break; default: echo Welcome $username";?> </body> </html> 13

Ηεντολήwhile while (συνθήκη) Εντολή που θα εκτελείται όσο ισχύει η συνθήκη; while (συνθήκη) Εντολές που θα εκτελούνται όσο ισχύει η συνθήκη; Ηεντολήwhile - παράδειγµα <html> <body> <?php $i=1; while ($i<=5) echo "The number is $i <br />"; $i++;?> </body> </html> 14

Ηεντολήdo while do Εντολές που θα εκτελεστούν µία φορά και για όσο ισχύει η συνθήκη; while (συνθήκη) Ηεντολήdo while - παράδειγµα <html> <body> <?php $i=7; do echo "The number is $i <br />"; $i++; while ($i<=5)?> </body> </html> 15

Ηεντολήfor for (εντολή έναρξης; συνθήκη; εντολή ολοκλήρωσης επανάληψης) Εντολές που εκτελούνται όσο ισχύει η συνθήκη; Εντολή έναρξης: εκτελείται µία φορα πριν ξεκινήσει ο βρόχος (loop). Συνήθως είναι η εντολή αρχικοδότησης (initialization) της µεταβλητής του βρόχου (loop variable). Συνθήκη: η συνθήκη που πρέπει να ισχύει ουτως ώστε να επαναληφθεί ο βρόχος. Συνήθως είναι µία σύγκριση που περιλαµβάνει τη µεταβλητή του βρόχου. Εντολή ολοκλήρωσης επανάληψης: εκτελέιται κάθε φορά που ολοκληρώνεται µά επανάληψη του βρόχου. Συνήθως χρησιµοποιείται για να αυξήσει ή να µειώσει την τιµή της µεταβλητής του βρόχου. Ηεντολήfor - σηµασία Ηεντολήfor αντιστοιχεί µε τον ακόλουθο κώδικα: Εντολή έναρξης; while (συνθήκη) Εντολές που εκτελούνται όσο ισχύει η συνθήκη; Εντολή ολοκλήρωσης επανάληψης; 16

Ηεντολήfor - παράδειγµα <html> <body> <?php for ($i=1; $i<=5; $i++) echo The number is $i<br />";?> </body> </html> Ηεντολήforeach Χρήσιµη για την ανάκτηση των στοιχείων ενός πίνακα αλλά όχι και για την τροποποίησή τους εκτός αν χρησιµοποιήσουµε αναφορά Επενεργεί πάνω σε ένα αντίγραφο του πίνακα εκτός αν χρησιµοποιήσουµε αναφορά foreach (όνοµα πίνακα as $όνοµα µεταβλητής τιµής στοιχείου) Εντολές που εκτελούνται για κάθε στοιχείο του πίνακα; foreach (όνοµα πίνακα as $όνοµα µεταβλητής κλειδιού στοιχείου => $όνοµα µεταβλητής τιµής στοιχείου) Εντολές που εκτελούνται για κάθε στοιχείο του πίνακα; 17

Ηεντολήforeach - παράδειγµα $a = array( "one" => 1, "two" => 2, "three" => 3, "seventeen" => 17 ); foreach ($a as $k => $v) echo $k = $v<br/> ; Περιδίαβαση πινάκων Ο κάθε πίνακας έχει ένα εσωτερικό δείκτη (internal pointer) που υποδεικνύει το επόµενο στοιχείο που θα ανακτηθεί Ο δείκτης αυτός παραµένει στη θέση του µετά από την τελευταία ανάκτηση Για να τον επαναφέρουµε στο πρώτο στοιχείο του πίνακα χρησιµοποιούµε τηνεντολήreset() Γιαναανακτήσουµε το παρόν στοιχείο (δηλαδή αυτό που υποδεικνύει ο εσωτερικός δείκτης) χρησιµοποιούµε τη συνάρτηση current() Για να ανακτήσουµε το επόµενο στοιχείο και συνάµα να προχωρήσουµε τοδείκτησεαυτόχρησιµοποιούµε τη συνάρτηση next() Οµοίως για το προηγούµενο στοιχείο χρησιµοποιούµε τη συνάρτηση previous() Για το τελευταίο στοιχείο χρησιµοποιούµε τησυνάρτησηend() 18

Περιδίαβαση πινάκων παράδειγµα $transport = array('foot', 'bike', 'car', 'plane'); $mode = current($transport); // $mode = 'foot'; $mode = next($transport); // $mode = 'bike'; $mode = next($transport); // $mode = 'car'; $mode = prev($transport); // $mode = 'bike'; $mode = end($transport); // $mode = 'plane'; Περιδιάβαση πινάκων µε την εντολή list() και τη συνάρτηση each() $a = array( "one" => 1, "two" => 2, "three" => 3, "seventeen" => 17 ); reset($a); // Χρειάζεται για να ξεκινήσουµε από το πρώτο στοιχείο while (list($k, $v) = each($a)) // Μπορούµε να τροποποιήσουµε // την τιµή του στοιχείου που επιστρέφεται // µέσω της µεταβλητής $v echo $k = $v<br/> ; 19

Για περισσότερες πληροφορίες www.php.net/manual/en 20