Cara Merubah Tipe Data PHP

tutorial belajar PHP untuk pemula

Dalam tutorial saat ini kita akan membicarakan mengenai cara mengubah tipe data PHP dari sebuah tipe data jadi tipe data lainnya. Dalam permograman PHP, hal ini terkenal dengan istilah type juggling dan type casting.

Data Type Juggling dalam PHP

PHP merupakan bahasa pemograman yang tak terlalu ketat dalam aturan tipe data (dimana sebuah variabel bisa diisi dengan beragam tipe data). Hal ini menawarkan kemudahan penulisan, tetapi juga mendatangkan persoalan tersendiri. Kadang-kadang PHP merubah tipe data suatu variabel jadi tipe data lainnya secara tidak langsung tanpa kita instruksikan.

Bila kamu sudah mengikuti tutorial PHP di infanthree tentang pembahasan tipe data dan operator, maka beberapa kali kita sudah membuat kode program yang “memaksa” suatu tipe data berguna sebagai tipe data lainnya.

Perhatikan kode program php berikut:

<?php
$a=12;
$b="9 kucing";
echo $a+$b; // 21
?>

Dalam kode diatas, saya mendefenisikan variabel $a sebagai integer (angka) dan variabel $b sebagai string. Operasi penambahan semestinya memerlukan 2 inputan berupa angka, tetapi seperti yang tampak saat program dijalankan, PHP dengan senang hati akan menjalankan perintah itu tanpa mengeluarkan error. 12+”9 kucing” akan menghasilkan nilai 21.

Proses perubahan tipe data ini terkenal dengan istilah type juggling. Type Juggling dalam PHP ialah sebuah proses untuk menentukan jenis tipe data yang “cocok” dengan operasi waktu itu, dan PHP akan menkonversinya secara langsung.

PHP akan mencoba “menebak” dan merubah tipe data supaya disesuaikan dengan peruntukannya. Misalnya operator aritmatika semestinya memerlukan 2 buah inputan (atau operand) yang bertipe angka (baik berbentuk integer ataupun float). Tetapi jika salah satu atau kedua operand itu bukan bertipe angka, maka PHP akan mengkonversinya jadi angka.

Seperti contoh program diatas, string “9 kucing” akan dikonversi jadi angka. Dan menghasilkan angka 21 (aturan pengkonversian ini akan kita bahas sesaat lagi).

Sebagai contoh lainnya, perhatikan kode PHP berikut ini:

<?php
$a=12;
   $b="9 kucing";
   echo $a AND $b;
?>

Nilai dari variabel $a dan $b masih sama dengan contoh saya yang pertama, tetapi saat ini saya membuat operator logika AND sebagai operasi yang akan diproses. Dan bila kamu menjalankan program diatas, di browser akan tampil angka 1. Dari manakah angka 1 ini berasal?

Operator AND memerlukan 2 inputan bertipe boolean, yaitu nilai TRUE atau FALSE. Tetapi sebab saya memakai tipe integer “12” dan type string “9 kucing”, maka kedua operand ini akan dikonversi jadi TRUE. Sebab TRUE AND TRUE ialah TRUE, maka hasil $a AND $b dalam contoh program diatas ialah TRUE.

Tetapi proses type juggling PHP belum selesai, sebab perintah echo memerlukan inputan berupa string, bukan nilai boolean TRUE. Dan PHP akan mengkonversi boolean TRUE jadi string “1”.

Pemahaman mengenai type juggling dalam PHP ini akan membantu kita untuk menghindari error kode program sebab perubahan tipe data yang tidak terdeteksi.

Data Type Casting dalam PHP

Bila type juggling merupakan proses “otomatis” oleh PHP, maka Type Casting ialah proses perubahan type data secara manual dengan menggunaan arahan di dalam kode program.

Untuk mengubah sebuah type data, kita memakai perintah casting dengan metode membuat nama tipe data tujuan di dalam tanda kurung sebelum variabel yang akan diubah.

Perhatikan contoh kode program berikut:

<?php
   $a=12;
   $b="9 kucing";
   echo $b;           //9 kucing
   echo "<br />";
   echo (integer) $b; //9
   echo "<br />";
   echo (boolean) $b; //1
?>

Pada baris ke -6, saya membuat echo (integer) $b, perintah ini merupakan men-casting tipe data yang ada didalam variabel $b (apapun tipe datanya) jadi integer. Dan pada baris ke 8. saya meng-casting tipe data $b jadi boolean.

Jenis-jenis perintah casting yang ada pada PHP yaitu sebagai berikut:

  • (int), (integer) – merubah tipe data jadi integer
  • (bool), (boolean) – merubah tipe data jadi boolean
  • (float), (double), (real) – merubah tipe data jadi float
  • (string) – merubah tipe data jadi string
  • (array) – merubah tipe data jadi array
  • (object) – merubah tipe data jadi object
  • (unset) – merubah tipe data jadi NULL (PHP 5)

Aturan konversi data dalam PHP

Perubahan sebuah tipe data jadi tipe data lainnya dalam PHP mempunyai aturan tersendiri. Berikut ialah aturan konversi tipe data dalam PHP

Konversi jadi Integer

  • Bila tipe data asal ialah float, maka perubahan jadi integer akan membuang tanda desimal dari float. Misalnya, 3.94  akan jadi integer 3.
  • Bila tipe data asal ialah boolean, maka nilai TRUE akan jadi 1, dan FALSE manjadi 0.
  • Bila tipe data asal ialah string, maka string akan dipotong pada angka terakhir yang didapati, mulai dari awal string. Tetapi bila diawal string tidak terdapat angka, maka string akan dikonversi jadi 0. Misalnya, “9 Kucing” akan jadi integer 9, “999 kucing” akan jadi integer 999. “kucing 99” akan jadi 0, “14,5 kali gaji” akan jadi integer 14 (sebab desimal akan dibuang dari string)
  • Bila tipe data asal ialah array kosong (tanpa data) maka bila dikonversi jadi integer akan menghasilkan 0, tetapi array dengan isi data minimal 1, akan dikonversi jadi 1.

Konversi jadi float

  • Secara umum, konversi jadi float hampir sama dengan konversi jadi integer, dengan perbedaan bila tipe asal ialah string, maka angka desimal akan diperhitungkan, contohnya “14,5 kali gaji” akan dikonversi jadi float 14,5

Konversi jadi boolean

  • Bila tipe data asal ialah integer, maka angka 0 akan dikonversi jadi FALSE, disamping itu, akan dikonversi jadi TRUE. Misalnya 0 -> FALSE, 1 -> TRUE, -1 -> TRUE.
  • Bila tipe data asal ialah float, maka angka 0.0 akan dikonversi jadi FALSE, disamping itu, akan dikonversi jadi TRUE. Misalnya 0.0 -> FALSE, 1,9 -> TRUE, -1,6 -> TRUE.
  • Bila tipe data asal ialah string, maka string “” (tanpa karakter) akan dikonversi jadi FALSE, string “0” (string dengan karakter nol) akan dikonversi jadi FALSE, disamping itu akan dikonversi jadi TRUE. Misalnya: “” -> FALSE, “ ” ->TRUE (karakter spasi), “0” -> FALSE.
  • Bila tipe data asal ialah array, maka array kosong (tanpa data) akan dianggap FALSE, disamping itu array akan dikonversi jadi TRUE.

Sebagai penutup, berikut ialah contoh-contoh konversi tipe data didalam PHP:

<!DOCTYPE html>
<html>
<head>
<title>Belajar Cara Konversi Tipe Data PHP</title>
</head>
<body>
<?php
// Konversi jadi Integer
  var_dump((int) 3.45); // 3
  echo "<br />";
  var_dump((int) "3.45");  // 3 (string 3.45)
  echo "<br />";
  var_dump((int) "9 Naga");  //9
  echo "<br />";
  var_dump((int) "Naga Bonar"); // 0
  echo "<br />";
  var_dump((int) "Wiro Sableng 212"); //0
  echo "<br />";
  var_dump((int) FALSE); // 0
  echo "<br />";
  var_dump((int) "1FALSE"); //1
  echo "<br />";
  var_dump((int) array()); // 0
  echo "<br />";
  var_dump((int) array("data")); //1
  echo "<br />"; 
// Konversi jadi Float
  var_dump((float) 3); // 3
  echo "<br />";
  var_dump((float) "3.45");  // 3.45
  echo "<br />";
  var_dump((float) "9 Naga");  //9
  echo "<br />";
  var_dump((float) "Naga Bonar"); // 0
  echo "<br />";
  var_dump((float) "Wiro Sableng 212"); //0
  echo "<br />";
  var_dump((float) FALSE); // 0
  echo "<br />";
  var_dump((float) "1FALSE"); //1
  echo "<br />";
  var_dump((float) array()); // 0
  echo "<br />";
  var_dump((float) array("data")); //1
  echo "<br />";
// Konversi jadi Boolean
  var_dump((bool) 3); // TRUE
  echo "<br />";
  var_dump((bool) 0);  // FALSE
  echo "<br />";
  var_dump((bool) -1);  // TRUE
  echo "<br />";
  var_dump((bool) ""); // FALSE
  echo "<br />";
  var_dump((bool) " "); //TRUE
  echo "<br />";
  var_dump((bool) "0"); // FALSE
  echo "<br />";
  var_dump((bool) "FALSE"); // TRUE (!) - sebab string
  echo "<br />";
  var_dump((bool) array()); // FALSE
  echo "<br />";
  var_dump((bool) array("data")); // TRUE
  echo "<br />";
?>
</body>
</html>

Dalam program diatas, saya membuat beberapa contoh konversi di dalam PHP.

Aturan tentang konversi tipe data dalam PHP ini (Type Juggling dan Type Casting) menutup tutorial PHP sesi operator. Untuk berikutnya, kita akan mempelajari mengenai alur logika program dalam PHP, atau terkenal dengan Struktur kendalikan dalam PHP.

Normal
0

false
false
false

EN-US
X-NONE
X-NONE

MicrosoftInternetExplorer4

/* Style Definitions */
table.MsoNormalTable
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-qformat:yes;
mso-style-parent:””;
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:”Calibri”,”sans-serif”;
mso-bidi-font-family:”Times New Roman”;” class=”synonym”>


Butuh Web Developer Makassar atau Jasa SEO di Makassar yang bergaransi? Jangan ragu dengan infanthree.com. Kami juga penyedia Jasa Pembuatan Aplikasi Android di Makassar yang terkemuka. Selain itu ada layanan SEM, SMM, Internet Marketing Agency Makassar dan Social Media, Pembuatan Logo, Konten, Video, Maskot dan Instalasi jaringan ataupun mikrotik, hingga pelatihan komputer dan internet marketing.

Recommended Posts

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *