author Ahmad Muhardian

Belajar PHP: Perbedaan Fungsi echo(), print(), dan printf() pada PHP


Tutorial PHP untuk Pemula: Perintah echo, print, dan printf

PHP memiliki beberapa fungsi untuk mencetak teks ke layar:

  • fungsi echo();
  • fungsi print();
  • fungsi printf().

Fungsi-fungsi ini akan sering kita gunakan dalam pemrograman PHP.

Lalu, apa saja sih perbedaan dari tiga fungsi ini?

Mari kita bahas…

Fungsi echo()

Fungi echo() adalah fungsi untuk menampilkan teks ke layar. Fungsi ini dapat digunakan dengan tanda kurung maupun tanpa tanda kurung.

Contoh:

<?php
echo "<h2>Belajar PHP itu mudah!</h2>";
echo("Hello world!<br>");
echo "Aku sedang belajar PHP!<br>";
echo "Ini ", "teks ", "yang ", "dibuat ", "terpisah.";
?>

Hasilnya:

Hasil output dengan fungsi echo

Fungsi echo() tidak akan mengembalikan apa-apa setelah dieksekusi. Dia hanya bertugas menampilkan teks saja.

Fungsi print()

Fungsi print() sama seperti fungsi echo(). Dia juga digunakan untuk menampilkan teks ke layar. Fungsi print() juga bisa digunakan tanpa tanda kurung.

Perbedaannya dengan echo():

  • Fungsi print() akan selalu mengembalikan nilai 1 saat dieksekusi, sedangkan echo() tidak mengembalikan apa-apa.
  • Fungsi print() hanya boleh diberikan satu parameter saja, sedangkan echo() boleh lebih dari satu.

Contoh:

<?php
print "<h2>Belajar PHP dari Nol!</h2>";
print "Hello world!<br>";
print "Belajar mecetak teks di PHP!";
?>

Hasilnya:

Hasil cetak fungsi print

Apabila kita membuat variabel lalu mengisinya dengan fungsi print() seperti ini:

$cetak = print("Hello World!");

Maka variabel $cetak akan bernilai 1.

Apabila kita memberikan dua paramater ke dalam fungsi print(), maka akan terjadi error.

print("Hello", "World"); // <-- ini akan error

Percobaan pada console PHP:

Fungsi Print pada Console PHP

Menggabungkan String atau Teks di PHP

Pada fungsi echo(), kita menggabungkan teks atau string dengan memberikan sebagai argumen (dipisah dengan tanda koma).

echo "Ini ", "teks ", "yang ", "dibuat ", "terpisah.";

Selain cara ini, kita juga bisa melakukannya dengan tanda titik (.).

Titik adalah operator untuk menggabungkan dua teks di PHP.

Kenapa tidak menggunakan simbol plus (+)?

Pada PHP, simbol plus digunakan untuk penjumlahan, bukan untuk menggabungkan string.

Jadi:

echo "1" + "1"; // akan menghasilkan 2
echo "1" . "1"; // akan menghasilkan 11

Contoh:

<?php
$txt1 = "Tutorial PHP";
$txt2 = "petanikode.com";
$x = 5;
$y = 4;

echo "<h2>" . $txt1 . "</h2>";
echo "Aku belajar pemrograman PHP di " . $txt2 . "<br>";
echo $x + $y;
?>

Hasilnya:

Penggabungan Teks di PHP

Fungsi printf() untuk Formatting Teks

Fungsi printf() adalah fungsi untuk memformat teks atau string. Fungsi ini akan mengembalikan panjang dari teks saat dieksekusi.

Biasanya saat kita menggunakan fungsi echo, kita akan menulis seperti ini:

$txt = "petanikode.com";
echo "Aku belajar pemrograman PHP di " . $txt . "<br>";

Apabila kita ingin menggunakan fungsi printf(), maka kita bisa lakukan seperti ini:

$txt = "petanikode.com";
printf("Aku belajar pemrograman PHP di %s<br>", $txt);

Simbol %s adalah sebuah placeholder untuk teks (string). Selain simbol %s ada juga simbol:

  • %d untuk bilangan desimal (integer);
  • %f untuk pecahan (float);
  • %b untuk boolean.

Salah satu yang patut kita coba adalah %f, karena dengan ini kita bisa mengatur bagaimana bilangan pecahan ditampilkan.

Contoh:

// misalkan kita punya bilangan dengan notasi E seperti ini
$harga = 100000;

// jika kita cetak dengan echo:
echo "Harganya adalah Rp $harga";

// jika kita cetak dengan printf
printf("Harganya adalah Rp %.2f", $harga);

Hasilnya:

Harganya adalah Rp 100000
Harganya adalah Rp 100000.00

Simbol %.2f artinya kita akan menetak bilangan dengan dua angka di belakang koma.

Mencetak Tanda Kutip

Kadang kita ingin menetak tanda kutip seperti ini:

echo 'hari ini hari jum'at';

Maka akan terjadi error!

Karena di sana dianggap tutup teksnya berkahir pada teks jum.

Lalu bagaimana caranya kita mencetak tanda kutip?

Kita bisa menggunakan tanda back slash (\).

Contoh:

echo 'hari ini hari jum\'at';

Maka akan menghasilkan:

hari ini hari jum'at

Apa Selanjutnya?

Kita sudah mengetahui perbedaan fungsi echo(), print(), printf(). Tiga fungsi ini memiliki kegunaan yang sama, yaitu mencetak teks ke layar.

Manakah yang harus kita gunakan?

Sebenarnya ini terserah kita mau pakai yang mana.

Saya sendiri terbiasa menggunakan echo(), karena mudah diketik. Sedangkan print() dan printf() agak jarang digunakan.

Nah! kalau kamu…

…suka pakai yang mana?