Η διαθεσιμότητα μιας μεταβλητής PHP
Πολλοί αρχάριοι προγραμματιστές PHP μπερδεύονται ως προς το πότε μια μεταβλητή PHP είναι διαθέσιμη μέσα σε ένα πρόγραμμα PHP. Βασικά εξαρτάται από αυτό πως και που η μεταβλητή δηλώνεται ή δημιουργείται. Σε προηγούμενα μαθήματα *, μάθατε ότι στις περισσότερες περιπτώσεις θα δηλώσετε μια μεταβλητή δίνοντάς της μια αρχική τιμή.

$ dollar_amt = 10;

Αυτό το φροντίζει πως να δηλώσει μια μεταβλητή αλλά που δηλώνετε ότι μια μεταβλητή είναι επίσης σημαντική. Μια μεταβλητή είναι διαθέσιμη μόνο εκεί όπου δημιουργήθηκε. Για παράδειγμα, αν δημιουργούμε μια μεταβλητή μέσα σε μια συνάρτηση, αυτή η μεταβλητή είναι διαθέσιμη μόνο μέσα σε αυτή τη συνάρτηση. Δεν υπάρχει εκτός αυτής της λειτουργίας. Σκεφτείτε τη λειτουργία ως πλαίσιο που περιέχει τη μεταβλητή και δεν μπορείτε να χρησιμοποιήσετε τη μεταβλητή εκτός αυτού του πλαισίου. Ας ρίξουμε μια ματιά σε ένα παράδειγμα. Η παρακάτω λειτουργία δημιουργεί τη μεταβλητή $ dollar_amt και στη συνέχεια εκτυπώνει μια πρόταση στο πρόγραμμα περιήγησης ιστού.

λειτουργία print_cost ()
{$ dollar_amt = 10;
echo "Το κόστος είναι δολάρια $ dollar_amt."; }}

Δεν υπάρχει πρόβλημα εδώ επειδή χρησιμοποιούμε τη μεταβλητή σε μια εντολή echo και ότι η εντολή echo είναι μέρος της ίδιας συνάρτησης που δημιούργησε τη μεταβλητή. (Όλα είναι μέσα στο κουτί.) Αλλά αν θέλουμε να χρησιμοποιήσουμε τη μεταβλητή σε μια δεύτερη αναφορά echo αργότερα στο πρόγραμμα, δεν θα δουλέψουμε πλέον μέσα στο κουτί. Θα προσπαθήσουμε να χρησιμοποιήσουμε τη μεταβλητή "εκτός" της αρχικής συνάρτησης που την δημιούργησε.

λειτουργία print_cost ()
{$ dollar_amt = 10;
echo "Το κόστος είναι δολάρια $ dollar_amt."; }}
------
------
echo "Θα χρειαστεί να στείλετε ένα επιταγή για δολάρια $ dollar_amt.";

Επειδή η μεταβλητή δεν είναι διαθέσιμη στη δεύτερη αναφορά ηχώ, η ιστοσελίδα θα μοιάζει με αυτή.

Θα χρειαστεί να στείλετε μια επιταγή για δολάρια.

Αλλά μπορείτε να δημιουργήσετε μεταβλητές οπουδήποτε στο πρόγραμμα σας και όχι μόνο μέσα. Τι γίνεται με μια μεταβλητή που δηλώνεται εκτός μιας συνάρτησης, για παράδειγμα μέσα στο κυρίως σώμα του προγράμματος; Ο ίδιος κανόνας διαθεσιμότητας ισχύει. Η μεταβλητή είναι διαθέσιμη μόνο όταν δημιουργήθηκε (στην περίπτωση αυτή εκτός του πλαισίου). Εάν επιχειρήσετε να χρησιμοποιήσετε τη μεταβλητή μέσα σε μια λειτουργία / πλαίσιο, δεν θα είναι διαθέσιμη. Για παράδειγμα, εάν ρυθμίσετε την αρχική τιμή της μεταβλητής $ cent_amt σε 50 στο πρόγραμμα, δεν μπορείτε να την χρησιμοποιήσετε στο πλαίσιο της παρακάτω λειτουργίας.

$ cent_amt = 50;


λειτουργία print_cost ()
{$ dollar_amt = 10;
echo "Το κόστος είναι $ dollar_amt δολάρια και $ cent_amt σεντ."; }}

Στο πρόγραμμα περιήγησης στο Web θα δείτε μόνο την ακόλουθη πρόταση.

Το κόστος είναι 10 δολάρια και σεντ.

Αλλά τι γίνεται με εκείνες τις στιγμές που πρέπει να χρησιμοποιήσετε μια μεταβλητή "έξω" σε μια λειτουργία; Ένας εύκολος τρόπος για να επιλύσετε αυτό το πρόβλημα είναι να μεταβιβάσετε αυτήν τη μεταβλητή ως επιχείρημα όταν καλείτε τη λειτουργία.

print_cost ("50");

-------
* Μπορεί να θέλετε να διαβάσετε μερικά από τα προηγούμενα μαθήματα σχετικά με μεταβλητές και λειτουργίες της PHP.





Οδηγίες Βίντεο: #2.PHP.Μεταβλητές και σταθερές (Ενδέχεται 2024).