Τι θα ήταν η php αν δεν μπορούσαμε ότι υπολογίζουμε μέσα σε αυτήν να το τυπώνουμε σε κάποιο αρχείο ή στην οθόνη;

Η php προσφέρει αρκετούς και διαφορετικούς τρόπους έτσι ώστε να κάνουμε τελικά αυτό που χρειάζεται πάνω από όλα σε μια γλώσσα, να εξάγουμε τα αποτελέσματά μας. Στην παρούσα ενότητα θα δούμε πώς να χρησιμοποιήσουμε το echo , το print, το printf, το sprintf και άλλα. 

echo

Για να μπορέσουμε να εξάγουμε ένα οποιοδήποτε είδος κειμένου σε μορφή αλφαριθμητικού από την εκτέλεση script, τότε μπορούμε να χρησιμοποιήσουμε την μέθοδο-εντολή echo. Αν και μοιάζει με μια κοινή μέθοδο τελικά πρόκειται για κατασκευαστή που βρίσκεται εμφωλευμένος μέσα στην ίδια την php. Η διαφορά με τις κοινές μεθόδους έγκειται στο ότι μπορούμε προαιρετικά να χρησιμοποιήσουμε παρενθέσεις. Αν πάλι δεν χρησιμοποιήσουμε η σύνταξή της και πάλι είναι σωστή.

Μπορούμε επίσης να τυπώσουμε πολλαπλά αντικείμενα χωρισμένα με κόμμα. Το οποίο αποτέλεσμα που θα προκύψει από αυτήν την χρήση είναι ένα μοναδικό αλφαριθμητικό όπου κάθε στοιχείο αποτελεί συνέχεια του άλλου. Δεν μπορούμε να τυπώσουμε πολλές τιμές μέσα σε παρενθέσεις.

<?php
 echo "ΚΕΙΜΕΝΟ 1","ΚΕΙΜΕΝΟ 2","...";
?>

Επειδή το echo δεν είναι κανονική μέθοδος δεν μπορεί να χρησιμοποιηθεί σαν μέρος μεγαλύτερων σύνθετων εντολών.

print

Σε αντίθεση με το echo το print δεν είναι εμφωλευμένο στον κατασκευαστή της php επομένως μπορεί να χρησιμοποιηθεί σύνθετα, αλλά απαραίτητα και υποχρεωτικά με παρενθέσεις, διότι πλέον έχουμε να κάνουμε με μια κοινή μέθοδο.

<?php
 print ("ΚΕΙΜΕΝΟ");
?>

printf

Η printf λειτουργεί με παρενθέσεις, μέσα στις οποίες παίρνει κάποια ορίσματα. Το πρώτο της όρισμα υποχρεωτικά είναι ένα αλφαριθμητικό στοιχείο, μέσα στο οποίο αναγράφουμε πάντα αυτό που θέλουμε να τυπώσουμε, συμπεριλαμβάνοντας όμως κάποιους ειδικούς χαρακτήρες ανάμεσα σε αυτά. Οι ειδικοί χαρακτήρες χρησιμοποιούνται ως αντικατάσταση για τα σημεία στα οποία θα πρέπει να μπουν τιμές μεταβλητών, και ονομάζονται προσδιοριστές τιμών.

Οι προσδιοριστές ξεκινούν με έναν χαρακτήρα του ποσοστού τοις εκατό και συνεχίζουν με έναν λατινικό χαρακτήρα ή και αριθμούς ανάμεσα στο ποσοστό τοις εκατό και τον λατινικό χαρακτήρα. Συγκεκριμένα:

  1. Αναγράφεται αρχικά το ειδικό σύμβολο ποσοστού τοις εκατό (%). Αυτό το σύμβολο σημαίνει ότι ξεκινά ένας προσδιοριστής, αν δεν θέλετε να χρησιμοποιήσετε έναν τότε θα πρέπει να γράψετε δυο φορές το ποσοστό τοις εκατό «%%» έτσι ώστε να χρησιμοποιηθεί το ποσοστό ως χαρακτήρας και όχι ως προσδιοριστής.
  2. Ύστερα προαιρετικά αναγράφεται ένας αριθμός, ένας χαρακτήρας ή ένα κενό με πρόθεμα ένα μονό εισαγωγικό «'», ο οποίος αριθμός, χαρακτήρας ή κενό χρησιμοποιείται σε περίπτωση που το αποτέλεσμα είναι μικρότερο από το ελάχιστο μήκος χαρακτήρων που θα ορίσουμε (στο βήμα 4), έτσι θα πρέπει με κάποιο τρόπο «να γεμίσουν οι κενές θέσεις» με τον χαρακτήρα/αριθμό/κενό που επιλέξαμε να γράψουμε δίπλα από το μονό εισαγωγικό.
  3. Ένα πρόσημο θετικό ή αρνητικό. Τα πρόσημα λειτουργούν διαφορετικά σε κάθε τύπο δεδομένων. Σε ένα αλφαριθμητικό αν χρησιμοποιήσουμε αρνητικό πρόσημο τότε το κείμενο θα στοιχηθεί στα αριστερά από ότι προεπιλεγμένα θα ήταν στοιχισμένο στα δεξιά. Σε έναν ακέραιο αριθμό το θετικό πρόσημο αναγκάζει το αποτέλεσμα να είναι αυστηρά θετικό προσθέτοντας αντίστοιχα και το πρόσημο μπροστά από τον αριθμό (πχ το -6 θα τυπωθεί +6).
  4. Το ελάχιστο αριθμό χαρακτήρων που το στοιχείο θα τυπωθεί. Εάν το περιεχόμενο της μεταβλητής είναι μικρότερο από τον αριθμό που έχουμε ορίσει τότε θα τυπωθούν μαζί με τον αριθμό ή το αλφαριθμητικό και μερικά κενά ή ότι χαρακτήρα ορίσαμε στο βήμα 2 ώστε να πληρούνται οι ελάχιστες θέσεις που έχουμε ορίσει.
  5. Αν έχουμε να κάνουμε με δεκαδικούς αριθμούς τότε συνεχίζουμε γράφοντας μια τελεία «.» και ύστερα ακολουθεί ένας αριθμός ακόμη όπου καθορίζει το πόσα ψηφία θα εμφανίζονται μετά της υποδιαστολής. Ο αριθμός αυτός λειτούργει σε συνάρτηση με τον γενικό αριθμό ψηφίων που έχουμε γράψει στο βήμα 4, αυτό σημαίνει πως αν έχουμε γενικό αριθμό ψηφίων 5 και μετά από την τελεία γράψουμε το 2, τότε τα τρία ψηφία θα δεσμευτούν για την αναπαράσταση του ακέραιου μέρους του αριθμού, και δύο ψηφία θα δεσμευτούν για το δεκαδικό μέρος πχ 333.33.
<?php
 $keimeno = "Αριθμός";
 $arithmos = 5.20;
 
 printf("Ο %'#-20s είναι %'04.2f",$keimeno,$arithmos);
?>

print_r

Η print_r όταν δεχθεί κάποιο αντικείμενο ή κάποιον πίνακα ως είσοδο , τυπώνει όλη την δομή του αντικειμένου/πίνακα και μορφοποιεί το αποτέλεσμα εξόδου έτσι ώστε να εμφανίζεται ως λίστα κατά την τύπωση των αποτελεσμάτων διευκολύνοντας έτσι την ανάγνωση του. Όταν εισαχθεί αντικείμενο η τύπωση ξεκινά με την λέξη «object» ενώ αν εισαχθεί πίνακας με την λέξη «array».

<?php
 $keimeno = "Αριθμός";
 $arithmos = 5.20;
 
 print_r($keimeno);
 echo "<br/>";
 print_r($arithmos);
 echo "<br/>";
 print_r(false);
?>

Χρησιμοποιώντας την εντολή αυτή για να τυπώσουμε έναν πίνακα ο δείκτης του πίνακα μετακινείται στο τέλος του. Είναι ανώφελο να προσπαθήσουμε να τυπώσουμε τιμές boolean και null. Σε επόμενες ενότητες θα δούμε την χρησιμότητα του στους πίνακες της php.

var_dump

Το var_dump() το οποίο λειτουργεί ως εντολή αποσφαλμάτωσης, τυπώνει τα πάντα, ακόμη και boolean, null τιμές ή οποιαδήποτε άλλη λεπτομέρεια δεν τυπώνει το print_r.

Εδώ θα πρέπει να σημειώσουμε ότι πρέπει να αποφεύγεται η χρήση τόσο του print_r όσο και του var_dump σε αναδρομικές δομές όπως τα $GLOBALS (το οποίο για παράδειγμα διαθέτει μια εγγραφή που δείχνει πίσω στον εαυτό του). Σε μια τέτοια περίπτωση το print_r() συνεχίζει επ’ αόριστο να τυπώνει ότι βρίσκει, έτσι είναι πιθανό να πέσουμε μέσα σε ατέρμονο βρόγχο. Ενώ η var_dump() μόλις εντοπίσει ότι έχει επισκεφθεί το ίδιο στοιχείο τρεις συνεχόμενες φορές σταματάει την επανάληψη διάσχισης.

<?php
 $keimeno = "Αριθμός";
 $arithmos = 5.20;
 
 var_dump($keimeno);
 echo "<br/>";
 var_dump($arithmos);
 echo "<br/>";
 var_dump(false);
?>