Sejauh ini kita sudah memakai echo di banyak contoh tanpa membedahnya. Kini saatnya membahas dua alat output bawaan PHP — echo dan print — secara saksama: cara memakainya, perbedaan perilakunya, dan cara mengendalikan format keluaran lewat escape sequence. Keduanya terlihat hampir sama di permukaan, tetapi perbedaan kecil di antara keduanya kerap muncul di soal wawancara kerja maupun kode nyata. Setelah chapter ini, Anda tahu kapan memakai yang mana dan mengapa.

echo Bukan Function #

echo adalah language construct — bagian dari bahasa PHP itu sendiri, bukan function. Konsekuensinya, echo tidak membutuhkan tanda kurung, dan yang lebih menarik: echo menerima beberapa argument sekaligus yang dipisah koma:

php
<?php

echo "Harga: ", "Rp", 25000, "\n";
echo "Budi", " ", "Siti", "\n";

Output yang Dihasilkan:

text
Harga: Rp25000
Budi Siti

Baris pertama mengirim empat potongan — string, string, angka, string — dan semuanya tercetak berurutan tanpa spasi tambahan. Tanda kurung boleh dipakai bila hanya ada satu argument, seperti echo("Halo");, tetapi itu hanyalah tanda kurung pengelompokan biasa, bukan pemanggilan function. Sebagai statement murni, echo tidak mengembalikan nilai apa pun — Anda tidak bisa menulis $x = echo "teks";.

Berbeda dengan echo, print berperilaku seperti expression: setiap kali dijalankan, print mengembalikan nilai 1. Karena itu print bisa diletakkan di tempat yang menuntut expression, misalnya di sisi kanan penugasan:

php
<?php

$hasil = print "print selalu mengembalikan 1\n";
echo "Nilai kembali print: $hasil\n";

Output yang Dihasilkan:

text
print selalu mengembalikan 1
Nilai kembali print: 1

Baris $hasil = print ... sekaligus mencetak teks dan menyimpan nilai kembali 1 ke $hasil. Berbeda pula dengan echo, print hanya menerima satu argument — menulis print "a", "b"; ditolak sebagai kesalahan sintaks. Ringkasan perbedaan keduanya:

Aspekechoprint
JenisLanguage constructLanguage construct berperilaku seperti expression
Jumlah argumentBeberapa, dipisah komaTepat satu
Nilai kembaliTidak adaSelalu 1
Kegunaan umumOutput sehari-hariSlot expression, mis. hasil kondisi

Di praktik nyata Anda akan hampir selalu memakai echo; kehadiran print lebih karena sejarah dan kompatibilitas. Keduanya sama-sama cepat — perbedaan performa di antara keduanya tidak pernah terasa di program sungguhan.

Escape Sequence untuk Mengendalikan Format #

String berkutip ganda mengenali kombinasi karakter berawalan garis miring terbalik yang disebut escape sequence. Dua yang paling sering dipakai: \n untuk pindah baris dan \t untuk tab; sisanya seperti \" memungkinkan tanda kutip berada di dalam string itu sendiri:

php
<?php

echo "Baris pertama\nBaris kedua\n";
echo "Kolom:\tkolom\n";
echo "Kutip di dalam: \"Halo\"\n";

Output yang Dihasilkan:

text
Baris pertama
Baris kedua
Kolom:	kolom
Kutip di dalam: "Halo"

Perilaku ini hanya berlaku pada kutip ganda. String berkutip tunggal mencetak apa adanya — \n di dalamnya tetap tercetak sebagai dua karakter, garis miring dan huruf n:

php
<?php

echo 'Kutip tunggal: \n tercetak apa adanya';
echo "\n";

Output yang Dihasilkan:

text
Kutip tunggal: \n tercetak apa adanya

Selain "\n", PHP menyediakan konstanta PHP_EOL — singkatan End Of Line — yang berisi karakter pindah baris sesuai sistem operasi tempat PHP berjalan. "\n" dan PHP_EOL menghasilkan byte yang sama di Linux dan macOS; perbedaannya baru terasa di Windows. Untuk program CLI yang dibaca manusia, keduanya aman dipakai:

php
<?php

echo "Baris pertama", PHP_EOL;
echo "Baris kedua", PHP_EOL;

Output yang Dihasilkan:

text
Baris pertama
Baris kedua

Menggabungkan String dan Nilai #

Ada dua cara menghasilkan satu baris output dari banyak potongan. Cara pertama memakai operator titik (.) yang merangkai potongan-potongan menjadi satu string utuh lebih dulu; cara kedua memakai koma yang mengirim tiap potongan langsung ke echo:

php
<?php

$nama = "Budi";
$pesanan = "Kopi Susu";

echo "Pelanggan: " . $nama . "\n";
echo "Pelanggan: ", $nama, "\n";

$barisUtuh = $nama . " memesan " . $pesanan . "\n";
echo $barisUtuh;

Output yang Dihasilkan:

text
Pelanggan: Budi
Pelanggan: Budi
Budi memesan Kopi Susu

Dua baris echo pertama menghasilkan output identik, tetapi jalannya berbeda: baris titik membangun string "Pelanggan: Budi\n" di memori lalu mencetaknya sekali, sedangkan baris koma mencetak tiga potongan secara beruntun. Pilihan menjadi penting ketika string gabungan dibutuhkan sebagai nilai — operator titik menghasilkan string yang bisa disimpan ke variable, seperti $barisUtuh di atas, sementara koma hanyalah pemisah argument milik echo dan tidak menghasilkan nilai. Adapun interpolation di dalam kutip ganda ("Pelanggan: $nama") sudah kita pakai sejak program pertama; aturan mainnya yang lengkap dibahas di Section String dan Text Processing.

Ringkasan #

echo adalah construct tanpa nilai kembali yang menerima banyak argument dan menjadi alat output utama sehari-hari; print menerima satu argument dan selalu mengembalikan 1. Format keluaran dikendalikan lewat escape sequence pada kutip ganda, konstanta PHP_EOL, serta operator penggabung titik. Dengan output di tangan, mari kita lengkapi keterampilan menjalankan program: beragam cara mengeksekusi script PHP melalui CLI pada Chapter berikutnya.

Referensi #