PHP Dasar: Echo, Print, Printf, Sprintf, Print r, Var Dump
1. echo
echo merupakan konstruksi bahasa, bukan fungsi. Karena itu, penggunaan echo tidak perlu diikuti dengan tanda kurung. Namun pada penerapannya, penggunaan tanda kurung dalam penulisan echo diperbolehkan dengan syarat echo tidak memuat lebih dari satu parameter dengan tanda pemisah ,. Jika melanggar kaidah tersebut, kita akan mendapatkan pesan error berupa syntax error, unexpected ','.
echo digunakan untuk mencetak string, string multi-line, escape characters, variable, dll.
Ada beberapa poin penting terkait penggunaan echo:
echoadalah statement yang digunakan untuk menampilkan output.echodapat digunakan dengan atau tanpa tanda kurung [echo()atauecho].echotidak mengembalikan nilai apapun.echodapat memuat beberapa string yang dipisahkan oleh koma tanpa tanda kurung.- Statement
echodieksekusi lebih cepat daripada statementprint.
Contoh penggunaan echo:
<?php echo 'Hello World!'; echo 'Hello', ' World!'; echo 'Hello' . ' World!'; echo('Hello' . ' World!'); echo "Hello \"World\"!"; echo "Lorem ipsum dolor sit amet consectetur adipisicing elit. Quis inventore velit animi voluptatem dolorem saepe quasi error provident necessitatibus quo deserunt, incidunt fuga facere, eos veritatis dolores nobis expedita laborum?";?>Hello World!Hello World!Hello World!Hello World!Hello "World"!Lorem ipsum dolor sit amet consectetur adipisicing elit. Quis inventore velit animi voluptatem dolorem saepe quasi error provident necessitatibus quo deserunt, incidunt fuga facere, eos veritatis dolores nobis expedita laborum?
Perbedaan Tanda Kutip Satu [ ' ' ] dan Tanda Kutip Dua [ " " ] pada Echo
echo akan mencetak atau menampilkan seluruh isinya apa adanya, baik itu variable maupun escape characters. Sedangkan, tanda kutip dua dapat menampilkan nilai (value) dari variable hingga escape characters sekalipun (teks diolah terlebih dahulu sebelum ditampilkan).<?php $color = "biru"; echo "Langit berwarna \"$color\"."; echo 'Langit berwarna \"$color\".';?>Langit berwarna "biru".Langit berwarna \"$color\".
Shorthand Echo (Echo Tag)
echo, disebut juga dengan echo tag. Penulisan <?php echo ... dapat digantikan dengan <?= ....<!DOCTYPE html><html lang="id"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>File PHP</title></head><body> <h1><?= "Shorthand Echo (Echo Tag)"; ?></h1> <?= "Hello World!"; ?></body></html>2. print
Hampir sama dengan echo, print sebenarnya juga merupakan konstruksi bahasa yang digunakan untuk menampilkan teks. Namun, print selalu mengembalikan nilai 1 saat dieksekusi.
Contoh penerapan print:
<?php print "Seri Pembelajaran PHP Dasar!"; print("Mendalami Output pada PHP");?>Seri Pembelajaran PHP Dasar!Mendalami Output pada PHP
Walaupun memiliki fungsi yang sama untuk menampilkan teks,
echodan
Perbandingan echoNilai kembalian - 1 Banyak parameter boleh lebih dari 1 hanya 1
3. printf
printf adalah fungsi yang digunakan untuk menampilkan teks terformat serta mengembalikan nilai dari panjang teks yang ditampilkan saat dieksekusi.
Perlu diperhatikan dalam printf, kita menggunakan tanda % untuk memformat teks. Contohnya untuk memformat bilangan bulat kita menggunakan %d, untuk memformat string kita menggunakan %s.
| Format | Fungsi |
|---|---|
%b | Menampilkan bilangan biner |
%c | Menampilkan karakter (character) |
%s | Menampilkan teks (string) |
%d | Menampilkan bilangan bulat (decimal) |
%u | Menampilkan bilangan cacah (unsigned decimal) |
%f | Menampilkan bilangan pecahan/desimal (float) |
%o | Menampilkan bilangan oktal |
%x | Menampilkan bilangan heksadesimal |
Lalu, bagaimana cara menampilkan teks yang terformat? Perhatikan contoh berikut untuk lebih mengerti.
<?php $text = "tulisan dari variabel"; printf("Ini adalah %s.", $text);?>Ini adalah tulisan dari variabel.
Bagaimana jika kita ingin menampilkan teks yang bersumber dari bilangan pecahan/desimal dengan printf? Perhatikan contoh berikut.
<?php $number = 12.45667711; printf("%.2f", $number); printf("%.5f", $number);?>12.4612.45668
Dalam output tersebut, kita dapat memperhatikan bahwa%.2fakan menampilkan 2 angka di belakang floating point (titik) dari bilangan desimal.Begitu juga dengan%.5fyang akan menampilkan 5 angka di belakang floating point (titik) dari bilangan desimal.Kesimpulan:Format%.nf, dengann= banyak angka di belakang floating point (titik) dari bilangan desimal.
Kali ini, kita akan melihat perbedaan hasil output menggunakan echo dan printf pada contoh berikut.
<?php $grade = 4; echo "IPK Hendry adalah $grade"; printf("IPK Hendry adalah %.2f", $grade);?>IPK Hendry adalah 4IPK Hendry adalah 4.00
Dapat kita lihat bahwa echo hanya akan menampilkan teks, sedangkan printf akan memformat teks terlebih dahulu sebelum ditampilkan.
4. sprintf
sprintf() berfungsi untuk menulis/menyimpan string yang diformat ke suatu variabel. sprintf juga dapat langsung ditampilkan dengan bantuan perintah output lainnya.
Contoh penerapan sprintf:
<?php $sentence = 'Dompet itu seharga'; $price = 100000; $statement = sprintf("%s %u rupiah", $sentence, $price); print($statement); echo sprintf("%s Rp%.2f", $sentence, $price)?>Dompet itu seharga 100000 rupiahDompet itu seharga Rp100000.00
5. print_r
print_r digunakan untuk mencetak output ke browser, namun dengan format yang lebih “readable”. “readable” berarti kita dapat membaca informasi atau nilai dari suatu variabel dengan lebih mudah. print_r juga dimanfaatkan sebagai alternatif untuk mencetak array atau objek. Hal ini dikarenakan echo tidak dapat mencetak array atau object menggunakan sehingga mengakibatkan error berupa Notice: Array to string conversion atau Fatal error: Uncaught Error: Object of class stdClass could not be converted to string.
<?php $students = [ 'name' => ['Christ', 'Sandy', 'Alvin'], 'subject' => 'IT', ]; $college = "Universitas X"; print_r($students); print_r($college);?>Tampilan pada halaman:
Array ( [name] => Array ( [0] => Christ [1] => Sandy [2] => Alvin ) [subject] => IT ) Universitas X
Tampilan pada view source halaman:
Array([name] => Array([0] => Christ[1] => Sandy[2] => Alvin)[subject] => IT)Universitas X
print_rumumnya digunakan dalam debugging array dan object dalam PHP. Fungsi ini digunakan untuk mencetak/ mengetahui isi dari array dan object (class).Pada object,
print_rakan mencetak properti protected dan private, tetapi tidak untuk properti static.
6. var_dump
var_dump digunakan untuk mencetak output ke browser secara mendetail dalam proses debugging. var_dump tidak hanya digunakan untuk menampilkan informasi nilai, tetapi juga struktur informasi (panjang dan tipe data) dari suatu variabel.
Contoh penerapan var_dump:
<?php $students = [ 'name' => ['Christ', 'Sandy', 'Alvin'], 'subject' => 'IT', ]; $college = "Universitas X"; var_dump($students); var_dump($college);?>Tampilan pada halaman:
array(2) { ["name"]=> array(3) { [0]=> string(6) "Christ" [1]=> string(5) "Sandy" [2]=> string(5) "Alvin" } ["subject"]=> string(2) "IT" } string(13) "Universitas X"
Tampilan pada view source halaman:
array(2) {["name"]=>array(3) {[0]=>string(6) "Christ"[1]=>string(5) "Sandy"[2]=>string(5) "Alvin"}["subject"]=>string(2) "IT"}string(13) "Universitas X"
Pada output var_dump pertama terdapat informasi array(2) menandakan bahwa sebuah variabel dengan tipe data array berisi 2 buah elemen. Elemen pertama dengan key “name” (["name"]) merupakan array dengan 3 buah elemen, masing-masing bertipe data string. Elemen kedua dengan key “subject” (["subject"]) memuat nilai bertipe data string sepanjang 2 karakter.
Sedangkan untuk output kedua, informasi yang ditampilkan berupa sebuah string sepanjang 13 karakter, yaitu “Universitas X”.
Dalam PHP, tampilan output dilakukan pada browser dan diinterpretasikan sebagai HTML. Pada markup language ini, kita tidak dapat mengubah tampilan dengan menambah extra spaces atau extra lines. Browser secara otomatis akan menghapus extra spaces atau extra lines saat halaman ditampilkan. Hal ini mengakibatkan output sulit terbaca.
Untuk itu, pembacaan output yang “readable” dapat dilakukan dengan View Source (menggunakan shortcut Ctrl + U pada PC, ⌘ + U atau ⌥ + ⌘ + U pada Mac, disesuaikan dengan browser yang digunakan).
Alternatif lain yang dapat digunakan adalah menggunakan tag
<pre>seperti contoh berikut:<?php$students = ['name' => ['Christ', 'Sandy', 'Alvin'],'subject' => 'IT',];$college = "Universitas X";?><pre><?= print_r($students); ></pre><pre><?= print_r($college); ></pre>Kita juga dapat memanfaatkan manipulasi
headerpada PHP sehingga browser menampilkan halaman sebagaiplain textbukan HTML.<?phpheader('Content-Type: text/plain; charset=utf-8');$students = ['name' => ['Christ', 'Sandy', 'Alvin'],'subject' => 'IT',];$college = "Universitas X";print_r($students);print_r($college);?>
Perbedaan
print_r()danvar_dump()Fungsi
print_r()mencetak isi dari suatu variabel tanpa menyertakan detail seperti panjang dan tipe data dari variabel dengan tujuan lebih mudah dibaca. Sedangkan,var_dump()mencetak isi dari suatu variabel dengan menyertakan panjang dan tipe datanya sehingga mempermudah proses debugging.