Cara menggunakan mysql string to array

Array adalah tipe data yang kompleks, Anda tidak dapat melihat isinya secara langsung. Jika Anda mencoba mencetak nilai dari sebuah array, Anda akan melihat PHP hanya mengeluarkan “Array”, yang berarti bahwa Anda diharuskan lagi untuk mem-parsing nilai-nilai di dalamnya.

Kebanyakan data yang kita simpan dalam table di database adalah data tunggal yang sesuai dengan nama field di database. Tapi bagaimana cara menyimpan data array dalam 1 field? PHP menyediakan fungsi tersebut yaitu: serialize dan unserialize.

Serialize berfungsi untuk mengambil objek dan mengubahnya menjadi representasi string yang berisi nama kelas dan propertinya. Saat objek di-serialize, konten ditempatkan dengan beberapa jenis specifier diikuti oleh titik dua, lalu diikuti dengan data aktual yang diikuti oleh titik koma.

Unserialize mengambil string atau string serial yang diperoleh dari objek dan mengkonversikannya lagi ke objek. Merupakan kebalikan dari serialize.

Pada tutorial ini, kita akan menyimpan data berisi alamat URL, IP address dan waktu mengakses halaman. Untuk itu buat table tb_data, nama databasenya : db_belajar.

CREATE TABLE IF NOT EXISTS `tb_data` (
  `id` int(5) NOT NULL AUTO_INCREMENT,
  `session_id` varchar(100) NOT NULL,
  `session_data` text NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=INNODB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;

Kemudian buat file serialize.php untuk menyimpan data array pada database.

session_start();

//koneksi ke database
$connection = mysqli_connect("localhost", "root", "", "db_belajar") or die("Error " . mysqli_error($connection));

//data array yang akan disimpan
$dataArray = array("url" => $_SERVER['PHP_SELF'], "ip" => $_SERVER['REMOTE_ADDR'], "waktu" => date("Y-m-d H:i:s"));

$sql = "INSERT INTO `tb_data`(`session_id`, `session_data`) VALUES ('" . session_id() . "','" . serialize($dataArray) . "')";
mysqli_query($connection, $sql);

//tutup koneksi ke database
mysqli_close($connection);

Ketika kita melihat data yang tersimpan di table tb_data, maka akan terlihat seperti ini pada field session_data :

a:3:{s:3:”url”;s:14:”/serialize.php”;s:2:”ip”;s:13:”192.168.0.100″;s:5:”waktu”;s:19:”2017-07-30 08:36:25″;}

Kemudian bagaimana cara menampilkan data tersebut? Tentunya kalau kita langsung menampilkan data untuk session_data maka akan muncul seperti di atas. Untuk mengembalikannya menjadi array buat file unserialize.php seperti di bawah ini :

❮ PHP String Reference

Example

Break a string into an array:

$str = "Hello world. It's a beautiful day.";
print_r (explode(" ",$str));
?>

Try it Yourself »


Definition and Usage

The explode() function breaks a string into an array.

Note: The "separator" parameter cannot be an empty string.

Note: This function is binary-safe.


Syntax

explode(separator,string,limit)

Parameter Values

ParameterDescriptionseparatorRequired. Specifies where to break the stringstringRequired. The string to splitlimitOptional. Specifies the number of array elements to return.

Possible values:

  • Greater than 0 - Returns an array with a maximum of limit element(s)
  • Less than 0 - Returns an array except for the last -limit elements()
  • 0 - Returns an array with one element


Technical Details

Return Value:Returns an array of stringsPHP Version:4+Changelog:The limit parameter was added in PHP 4.0.1, and support for negative limits were added in PHP 5.1.0

More Examples

Example

Using the limit parameter to return a number of array elements:

$str = 'one,two,three,four';

// zero limit
print_r(explode(',',$str,0));

// positive limit
print_r(explode(',',$str,2));

// negative limit
print_r(explode(',',$str,-1));
?>

Try it Yourself »


❮ PHP String Reference

Tutorial kali ini kita akan membahas Cara memecah String dengan Explode di PHP , Bagi anda yang masing bingung Cara Menggunakan Explode di php simak artikel singkat berikut ini ya..

Fungsi Explode adalah memisahkan sebuah string menjadi element-element array. Penggunaan explode sering dijumpai dalam pembuatan aplikasi website yang kompleks , biasa digunakan untuk mengambil sebagian karakter, atau memanipulasinya..

untuk contoh studi kasus dengan database penggunaan implode dan explode silahkan lihat artikel Penggunaan Implode dan Explode PHP

Contoh penggunaannya seperti dibawah ini :

Berikut code simple nya :

<?php
//string yang akan dipecah
$teks = "Mangga,Apel,Durian";
//pecah string berdasarkan string ","
$pecah = explode(",", $teks);
//mencari element array 0
$hasil = $pecah[0];
//tampilkan hasil pemecahan
echo $hasil;
?>


Sehingga element array 0 akan di isi dengan Mangga, element array ke satu  (1) akan di isi dengan Apel, dan ke dua (2) akan di isi dengan Durian. mudah sekali kan, pasti sekali coba anda sudah mahir menggunakan fungsi Explode ini.

OK. Bagaimana.. Nah.. Agar tidak bingung saya berikan contoh yang lain dari penggunaan explode untuk memecah string di PHP  :

<?php
 
//Contoh Penggunaan Fungsi explode ()
$string = "Contoh PHP Explode.";
$PecahStr = explode(" ", $string);
 
for ( $i = 0; $i < count( $PecahStr ); $i++ ) {
echo $PecahStr[$i] . "<br />";
}
 
?>

Pada contoh di atas, kita menyimpan suatu string dalam variabel $string, kemudian string tersebut kita pecah berdasarkan spasi sehingga akan menghasilkan array (baca tutorial array) Kemudian kita menampilkan data tersebut menggunakan perulangan for. Jika misalkan kita ingin menggunakan kata PHP saja maka penulisannya $PecahStr[1].

Perhatikan contoh lain penggunaan fungsi explode berikut ini:

$tanggal = date('Y-m-d');
$Pecah = explode( "-", $tanggal );
//Menampilkan otomatis menggunakan for
for ( $i = 0; $i < count( $Pecah ); $i++ ) {
echo $Pecah[$i] . "<br />";
}
//Menampilkan secara manual dengan mengakses indexnya
echo "Tanggal : " . $Pecah[0] . "<br />";
echo "Bulan : " . $Pecah[1] . "<br />";
echo "Tahun : " . $Pecah[2] . "<br />";

Pada contoh di atas, kita memecah tanggal menjadi tiga bagian yang terpisah. Sehingga memungkinkan kita untuk menggunakan tanggal saja atau bulan saja, serta melakukan apapun sesuai dengan kasus yang dihadapi.

UPDATE :

Dalam beberapa kasus Explode tidak bisa menangani masalah pemecahan string dimana tidak ada parameternya , misalhnya dalam kasus seperti ini :

Kalo misalnya ada:
$kata = "1234";
$arr = explode('', $kata);
echo $arr[0];

Harusnya kan muncul 1, tapi ini kenapa gak muncul? Atau salah di delimiternya?

NAH..untuk masalah kasus seperti ini kita harus menggunakan Fungsi str_SPLIT ,  begini cara penyelesain nya :