Μεταβλητές

Οι μεταβλητές χρησιμοποιούνται για την αποθήκευση διαφόρων τιμών που χρειάζονται κατά την εκτέλεση του κώδικα. Οι τιμές μπορεί να είναι κάποιος ακέραιος (π.χ. 5), κάποια συμβολοσειρά (string π.χ. Hello world) ή κάποια boolean (αληθής true ή ψευδής false). Σε πολλές γλώσσες προγραμματισμού, πρέπει να δηλώσουμε το είδος της μεταβλητής και στη συνέχεια να αναθέσουμε  την τιμή που θέλουμε. Η PHP 'καταλαβαίνει' η ίδια το είδος της μεταβλητής ανάλογα με την τιμή που θα της δώσουμε. 

Τα ονόματα των μεταβλητών ακολουθούν τους εξής κανόνες:

  • Ξεκινάνε πάντα με δολλάριο ($).
  • Ο πρώτος χαρακτήρας (μετά το δολλάριο) πρέπει να είναι κάποιο γράμμα ή κάτω παύλα (_).
  • Περιέχουν μόνο αλφαριθμητικούς (δηλαδή γράμματα και αριθμούς) χαρακτήρες και κάτω παύλες.
  • Όπως είδαμε, πρέπει να έχουν στην αρχή το δολλάριο ($).
  • Μία μεταβλητή δεν πρέπει να περιέχει κενά.
  • Είναι case sensitive, δηλαδή έχει σημασία αν είναι γραμμένες με κεφαλαία ή μικρά. Για παράδειγμα οι μεταβλητές $name και $Name είναι διαφορετικές.

Ορισμένα παραδείγματα:

$name = “Spyros”; // συμβολοσειρά (η τιμή μπαίνει πάντα σε διπλά ή μονά εισαγωγικά)
$number = 5; // ακέραια τιμή
$result = true; // boolean τιμή

Υπάρχουν οι καθολικές (global) μεταβλητές και οι τοπικές (local) μεταβλητές ανάλογα με την εμβέλεια που έχουν, δηλαδή σε ποια σημεία του κώδικα είναι προσβάσιμες. Οι καθολικές είναι προσβάσιμες σε οποιοδήποτε σημείο του κώδικα ενώ οι τοπικές είναι προσβάσιμες μόνο σε μία συνάρτηση (παρακάτω θα μιλήσουμε για τις συναρτήσεις στην PHP).

Παράδειγμα καθολικής μεταβλητής

<?php
    $a = 5;
    echo $a; // πρώτη εκτύπωση του 5
    function show_a ()
    {
        global $a;  // χρειάζεται για να είναι προσβάσιμη η εξωτερική μεταβλητή $a
        echo $a;
    } // end function

    show_a (); // δεύτερη εκτύπωση του 5
?>

Ο παραπάνω κώδικας θα εκτυπώσει δύο φορές την τιμή 5 της μεταβλητής $a. Η πρώτη εκτύπωση γίνεται έξω από συνάρτηση ενώ η δεύτερη γίνεται με τη βοήθεια της συνάρτησης show_a. Για να χρησιμοποιήσει μια συνάρτηση μια εξωτερική μεταβλητή, πρέπει να δηλωθεί με τη χρήση της λέξης global.

Αν δηλώσουμε μία τοπική μεταβλητή $a μέσα στη συνάρτηση, τότε εκείνη που υπερισχύει είναι τοπική έναντι της καθολικής. Για παράδειγμα:

<?php
    $a = 5;

    function show_a ()
    {
        $a = 3;
        echo $a;
    } // end function

    show_a (); // εκτύπωση της τοπικής μεταβλητής $a = 3
    echo $a; // εκτύπωση της καθολικής μεταβλητής $a = 5
?>

Αν πρόκειται για συμβολοσειρές, μπορούμε να ενώσουμε δύο μεταβλητές σε μία με τη βοήθεια του τελεστή συνένωσης (.). Π.χ.:

<?php
    $text1 = "Hello";
    $text2 = "world";

    echo $text1.$text2;
?>

Ο παραπάνω κώδικας θα εκτυπώσει Helloworld. Παρατηρούμε δηλαδή ότι δεν υπάρχει κενό ανάμεσα στις δύο λέξεις. Μπορούμε να γράψουμε τον παρακάτω κώδικα για να βάλουμε κενό ανάμεσα:

echo $text1." ".$text2;