Tutorial PHP : Mengubah Data Array Ke Data Object Dan Sebaliknya

Akhirnya kesampaian juga tadi sore untuk gowes-gowes naik sepeda keliling kota Denpasar. Hitung-hitung cari keringat + cuci mata liat ABG Denpasar yang bening-bening. Walaupun akhirnya harus kecewa, karena hanya sedikit ABG yang lalu-lalang sore hari tadi. Tak ada ABG, anak kuliahan pun jadi. Jadilah saya lewat di depan kampus STIKOM Bali yang sangat megah itu, berharap ada mahasiswi cantik yang keluar dari kampus itu dan saya bisa berkenalan (#ngarep). Namun nasib berkata lain, tak ada satupun mahasiswi yang saya lihat. Saya hanya melihat sebuah spanduk besar yang berisi pengumuman wisuda. Dari spanduk itulah saya teringat kembali akan target untuk cepat-cepat wisuda dalam kurun waktu 1,5 tahun ke depan, mentok-mentoknya 2 tahun lagi lah. Saya ingat juga dengan sebuah judul skripsi, yang rancangannya (masih rahasia) sempat saya tidak kerjakan lagi gara-gara sibuk dengan tugas-tugas kuliah semester kemarin. Pada rancangan tersebut terdapat sebuah cara untuk mengubah data array menjadi sebuah data object, dan mengubah data object menjadi sebuah data array. Cara tersebut sangat berguna untuk melakukan parsing data. Nah, pada postingan kali ini saya akan menjelaskan bagaimana cara untuk mengubah data array menjadi sebuah data object dan sebaliknya.

1. Disini saya menggunakan bahasa pemrograman PHP, dan kode penyusunnya kira-kira seperti di bawah ini :

class array_object{
	function arrayKeObject($array)
	{
		$object = new stdClass();
		if (is_array($array))
		{
			foreach ($array as $kolom=>$isi)
			{
				$kolom = strtolower(trim($kolom));
				$object->$kolom = $isi;
			}
		}
		return $object;
	}

	function objectKeArray($object)
	{
		$array = array();
		if (is_object($object)) {
			$array = get_object_vars($object);
		}
		return $array;
	}
}

2. Pada kode di atas, saya membuat sebuah class dengan nama array_object dengan dua buah function yaitu arrayKeObject() yang berfungsi untuk mengubah data array ke data object dan function objectKeArray() yang berfungsi untuk mengubah data object ke data array.

3. Pada function arrayKeObject() terdapat sebuah baris kode :

$object = new stdClass();

Fungsinya adalah untuk membuat sebuah object baru yang kosong. Hampir sama dengan fungsi Object() yang terdapat pada Java. Dimana pada akhirnya, object tersebut akan diberikan value dan dikembalikan dengan fungsi return.

4. Pada function terdapat sebuah baris kode

$array = get_object_vars($object);

Fungsi dari get_object_vars($object) adalah untuk mengambil semua variabel yang dimiliki oleh $object. Kemudian disimpan dalam variabel yang didefiniskan sebagai variabel yang bertipekan array, dan akhirnya dikembalikan dengan fungsi return.

Bagaimana cara penggunaannya…???

Disini saya contohkan cara penggunaannya dengan membuat sebuah array yang berisi value. Ditampilkan dengan fungsi perulangan foreach(), dan kode selengkapnya kira-kira seperti di bawah ini :

//mengisi nilai dari array
$arr = array('kolom_1' => 'isi_1','kolom_2' => 'isi_2','kolom_3' => 'isi_3');

//definisi object baru
$obj_baru = new array_object();

//mengubah array ke dalam bentuk object
echo "Array ke Object";
$ubah_objek = $obj_baru->arrayKeObject($arr);
foreach ($ubah_objek as $kolom_obj=>$isi_obj)
{
	echo '<br>'.$ubah_objek->$kolom_obj;
}

//mengubah object ke dalam bentuk array
echo "<br>Object ke Array";
$ubah_array = $obj_baru->objectKeArray($ubah_objek);
foreach ($ubah_array as $kolom_arr=>$isi_arr)
{
	echo '<br>'.$ubah_array[$kolom_arr];
}

Ternyata lumayan juga untuk mengubah data array ke dalam bentuk data object, yang sekilas terlihat sederhana. OK deh, semoga sedikit trik dan dokumentasi dari saya ini bisa bermanfaat untuk rekan-rekan. Mudah-mudahan di postingan selanjutnya, saya bisa mendokumentasikan kembali sedikit rancangan project skripsi yang sedang saya kerjakan.

Happy Blogging and Keep Coding

Cheerrrsss….!!!!

Download Aplikasi

3 comments

  1. ky120 Reply

    ini sangat membantu pak, terima kasih atas semua tutorial yg bapak upload..
    saya sedang belajar php untuk bahan skripsi tahun ini, klo misal saya ada kesulitan bisakah bantu saya pak?
    hehe..:p
    thx thx…:)