Μεταβλητές

Οι μεταβλητές χρησιμοποιούνται για να αποθηκεύουμε δεδομένα. Κάθε μεταβλητή περιέχει μια τιμή η οποία ενδεχομένως μπορεί να αλλάζει κατά την εκτέλεση του προγράμματος π.χ.

$firstName = "George";

Όνομα μεταβλητής: $firstName

Τιμή μεταβλητής: George

Στις μεταβλητές δίνουμε μια ονομασία εύκολη στην απομνημόνευση με σκοπό όταν την καλούμε στο πρόγραμμά μας να είναι εύκολο να θυμηθούμε την ονομασία της.

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

Όσον αφορά τον τύπο δεδομένων των μεταβλητών, η php διακρίνει αυτόματα τον τύπο της μεταβλητής από την τιμή που δηλώνουμε. Αν για παράδειγμα δηλώσουμε μια τιμή string στην μεταβλητή, η php θα την διακρίνει αυτομάτως.

$drink = "Coke"; η $drink είναι τύπου string (αλφαριθμητικού)

$price = 1.9; η $price είναι τύπου double (δεκαδικού)

$available = 10; η $available είναι τύπου integer (ακέραιου)

Για να γίνουμε πιο σαφείς, οι μεταβλητές βρίσκονται σε συγκεκριμένες θέσεις στη μνήμη RAM του Η/Υ. Κάθε θέση στη μνήμη έχει μια διεύθυνση η οποία είναι ένας δεκαεξαδικός αριθμός π.χ. 10AF4BC43. Κάτι αντίστοιχο συμβαίνει και με τις ταχυδρομικές διευθύνσεις των σπιτιών. Ο ταχυδρόμος για να σας παραδώσει το γράμμα, θα πρέπει να γνωρίζει την ακριβή διεύθυνση του σπιτιού σας. Ακριβώς το ίδιο συμβαίνει και με τις διευθύνσεις των μεταβλητών που βρίσκονται στη μνήμη RAM του Η/Υ σε δεκαεξαδική μορφή.

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

Βέβαια, ισχύουν συγκεκριμένοι κανόνες που αφορούν την ονοματοδοσία των μεταβλητών. Συγκεκριμένα:

Τα ονόματα των μεταβλητών μπορούν να περιέχουν μόνο μικρά γράμματα, λατινικούς χαρακτήρες, αριθμούς και κάτω παύλα (_). Τα ονόματα των μεταβλητών δεν ξεκινούν με αριθμό.

Παρακάτω θα δείτε μερικά ονόματα μεταβλητών τα οποία είναι σωστά διατυπωμένα:

$hello
$my_name
$my_favourite_drink
$chocolate1

Ενώ τα παρακάτω ονόματα μεταβλητών δεν είναι σωστά διατυπωμένα. Το αποτέλεσμα θα είναι να επιστρέψει η php σφάλμα κατά την εκτέλεση.

$Hello!
$My name
$My-favourite-drink
$1st_chocolate

Πάμε να δούμε στη πράξη πώς ορίζουμε τις μεταβλητές. Δηλώνουμε μια μεταβλητή δίνοντας ένα όνομα και στη συνέχεια εισάγοντας μια τιμή:

$first_name = "John";

Τώρα πάμε να κάνουμε έναν συνδυασμό της εντολής echo. Μπορούμε να χρησιμοποιήσουμε την εντολή echo και για να εμφανίζουμε το περιεχόμενο των μεταβλητών. Θα γράψουμε ένα πρόγραμμα στο οποίο αρχικά θα δηλώσουμε μια μεταβλητή $first_name, και στη συνέχεια θα εμφανίσουμε το περιεχόμενό της με την εντολή echo.

$first_name = "Bill Gates";
echo "your name is: " . $first_name;

Και το αποτέλεσμα κατά την εκτέλεση:

your name is: Bill Gates

Όπως βλέπουμε στο παραπάνω αποτέλεσμα, ορίσαμε το όνομα Bill Gates στην μεταβλητή $first_name, και εμφανίστηκε στην οθόνη το μήνυμα “your name is: Bill Gates”.

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

$first_name = "Bill Gates";
echo "your name is: " . $first_name;

$first_name = "Steve Jobs";
echo "your name is: " . $first_name;

Και το αποτέλεσμα κατά την εκτέλεση:

your name is: Bill Gates
your name is: Steve Jobs

Όπως διαπιστώσαμε στο παραπάνω παράδειγμα, όταν ξανά δηλώνουμε τιμή στη μεταβλητή, τότε χάνει την προηγούμενη τιμή που είχε και παίρνει την νεότερη. Λογικό δεν είναι;

Μπορούμε να εκτελέσουμε και αριθμητικές πράξεις όπως για παράδειγμα μια απλή πρόσθεση

Παράδειγμα:

<?php
$x = 5;
$y = 3;

echo $x + $y;
?>

Αποτέλεσμα:

8

Σε αυτό το σημείο πραγματικά σας αξίζουν συγχαρητήρια καθώς γράψατε το πρώτο σας πρόγραμμα μεγαλύτερο από μια γραμμή 🙂 Για να φτάσατε σε αυτό το σημείο, είμαι σίγουρος ότι θα έχετε λαμπρό μέλλον στον προγραμματισμό.