[Tips] Operasional Array PHP

Array merupakan variabel penting dalam semua pemrograman termasuk PHP, dimana array memiliki kemampuan membawa dalam satu variable dapat memuat banyak value dan key yang serupa. Contoh Array adalah misal akan kita bentuk sebuah variabel data nama anak-anak kelas III dalam sebuah sekolah akan diletakkan dalam sebuah tabel:

nis nama
001 Banu
002 Budi
003 Bayu
004 Bono

 

Isi dari sebuah tabel itu dapat dimasukkan dalam sebuah variabel array , dimana tiap item array akan berisi KEY dan VALUE, dan antara item satu dengan yang lain akan dipisahkan dengan tanda koma, seperti demikian :

$arr = array("001"=>"Banu","002"=>"Budi","003"=>"Bayu","004"=>"Bono");

Cara lain membuat array adalah dengan :

$arr["001"] = "Banu";
$arr["002"] = "Budi";
$arr["003"] = "Bayu";
$arr["004"] = "Bono";

Adapun sebuah array dapat saja tidak memiliki KEY tapi memiliki Value. Misal:

$arr = array("Banu","Budi","Bayu","Bono");

MENAMPILKAN ARRAY dalam PHP
Menampilkan Array dalam PHP dapat dengan menggunakan fungsi perintah php print_r();

print_r($arr);

JENIS ARRAY
Array dapat meliputi tiga hal:

  • Array Numerik / Numeric Array: adalah operasional array dengan penyebutan key nya adalah urutan item array tersebut, dimulai dari angka ke 0 sebagai item array pertama. Contoh diatas dapat dikatakan bahwa
    $arr[0] = “Banu”
    $arr[1] = “Budi”
    dan seterusnya. Sehingga jika dilakukan echo dengan PHP:

    echo $arr[0];
    

    Hasilnya adalah “Banu”.

  • Array Asosiatif / Associative Array : adalah operasional array dengan penyebutan keynya adalah nama dari key tersebut. Contoh diatas dapat dikatakan bahwa

    $arr[“001”] = “Banu”
    $arr[“002”] = “Budi”
    dan seterusnya. Sehingga jika dilakukan echo dengan PHP:

    echo $arr["002"];
    

    hasilnya adalah “Budi”

  • Array Multidimensional / Multidimensional array : Adalah adanya array di dalam array. Misal :
    
    $makanan = array(
    "buah" => array("Jeruk","Jambu","Alpokat"),
    "sayuran" => array("Bayam","Kenci","Selada","Mikado"),
    "daging" => array("Kambing","Ayam","Sapi"),
    "nasi" => array("merah","hitam","putih", "jagung");
    );
    
    

PENGURAIAN VALUE ARRAY
Penguraian array dapat dilakukan dengan menggunakan looping untuk penyebutan seluruhnya, atau melakukan echo/print untuk penyebutan peritem. Contoh adalah :

$arr = array("001"=>"Banu","002"=>"Budi","003"=>"Bayu","004"=>"Bono");

foreach ( $arr as $item ){
echo $item . "
"; }

atau kadang kita langsung menyebut per item jika bukan looping yang kita perlukan :

echo $arr["002"];

atau

echo $arr[1];

PENGURAIAN KEY DAN VALUE ARRAY
Suatu ketika kita perlu mengurai Value Array beserta Keynya. Maka dapat digunakan looping seperti demikian :

$arr = array("001"=>"Banu","002"=>"Budi","003"=>"Bayu","004"=>"Bono");

foreach ( $arr as key => $value ){
echo $key . "=" . $value . "
"; }

PENGURAIAN ARRAY LANGSUNG MENJADI VARIABEL BARU
Sebuah array dapat dipecah langsung menjadi variabel-variabel baru misal :

$arr = array("nama"=>"bimosaurus","alamat"=>"wonosobo","usia"=>"200 tahun");

Dapat langsung digunakan :

$arr = array("nama"=>"bimosaurus","alamat"=>"wonosobo","usia"=>"200 tahun");
export( $arr );

Maka akan muncul variabel baru :
$nama = “bimosaurus”;
$alamat = “wonosobo”;
$usia = “200 tahun”;

PEMBENTUKAN ARRAY DENGAN EXPLODE
Sebuah array dapat juga terbentuk dari kata atau kalimat yang dipecah dengan menggunakan explode. Sebagai contoh adalah :

$kalimat = "sebenarnya saya sudah lama ingin sekali menulis";
$arr = explode(" ", $kalimat); // dipecah berdsar tanda " " / spasi

Hasilnya jika dibongkar dengan array numerik adalah :

echo $arr[0];

Hasilnya adalah “sebenarnya”. Coba juga dilakukan perintah fungsi print_r();
Kebalikan dari explode adalah implode

PENGURAIAN ARRAY dari MySQL
Andaikan tabel di atas, akan disebut dengan tabel siswa. Maka sebuah Query dari MySQL akan seperti berikut:

$sql = "SELECT * FROM `siswa`";
$query = mysql_query( $sql );

Setelah dilakukan query, maka SQL akan menghasilkan array. Array tersebut akan kita urai dengan beberapa cara. Fungsi yang digunakan juga bisa mysql_fetch_row, mysql_fetch_array, atau mysql_fetch_assoc. Sedangkan perintah looping yang digunakan akan sangat lebih mudah menggunakan while.

while( $r = mysql_fetch_array( $q ) ){
echo $r['nis'] . " = " . $r['nama'] . "
"; } }

Apa perbedaan mysql_fetch_row, mysql_fetch_array, dan mysql_fetch_assoc? Perbedaannya adalah mysql_fetch_row untuk penyebutan array numerik, mysql_fetch_assoc adalah untuk penyebutan array assosiatif, dan mysql_fetch_array bisa untuk keduanya.

Sekian, semoga bermanfaat

[Contoh] Cara Mudah Membuat Notasi Data untuk Grafik JQuery JQPlot dengan PHP

Salah satu kelemahan JQPlot dibanding HighChart adalah pembuatan notasi data grafik untuk diplot ke dalam halaman web. Seperti beberapa artikel lalu , HighChart memiliki kemudahan penulisan notasi, karena berjajar notasi sejenis, sesuai dengan arraynya. Berbeda dengan JQPlot. Penulisan notasi JQPlot berupa notasi bersama antara array x dan array y. Contoh: Misal kita memiliki dua array yang akan dijadikan grafik.

 

$r1 = array('1','3','5','7','9','11');

$r2 = array('1','2','1','2','1','2');

 

Pembuatan grafik dengan Highchart akan menggunakan cara seperti ini :

 

.
.
.
xAxis : {

categories : ['1','3','5','7','9','11']

},
.
.
.

series : ['1','2','1','2','1','2'];
.
.
.

 

 

Sedangkan JQPlot memiliki notasi seperti berikut :

$.jqplot('spacegrafik',  [[[1,1],[3,2],[5,1],[7,2],[9,1],[11,2]]]);

Padahal biasanya PHP akan menghasilkan data berasal dari array yang didapat dari MySQL, PostgreSQL, database lainnya, atau memang berupa data array. Untuk itu biasanya pembuatan grafik JQPlot jelas memakan satu langkah lebih banyak daripada penggunaan Highchart. Namun dengan beberapa kelebihan JQPlot, ditambah dengan kesukaan masing-masing developer, maka tidak salah mencoba menyiasati pembuatan notasi grafik ini. Pembuatan notasi Grafik JQPlot akan coba kita jelaskan pada code berikut ini :


 




 

Nah kira kira hasilnya adalah seperti demikian



Nah, selamat mencoba, semoga bermanfaat.

[Contoh] Cara Cepat Mengubah Parameter method GET POST menjadi variable

Dalam pemrograman web, method GET POST tidak dapat dilepaskan dari proses pemrograman itu sendiri. Di samping itu ada juga pengambilan parameter $_SERVER[], $_SESSION, $_REQUEST, dan lain sebagainya. Biasanya kita akan mengubah isi parameter GET POST ini akan seperti contoh berikut

 


$satu = $_POST['satu'];
$dua  = $_POST['dua'];
$tiga = $_POST['tiga'];
$empat= $_POST['empat'];

Atau dalam bentuk GET misal terdapat URL seperti demikian :

http://namaserver.tld/req.php?nama=bimosaurus&kota=wonosobo&status=menikah&jumlahanak=1&hobi=blogging

Maka kita akan melakukan inisiasi variabel menjadi

$nama = $_GET['nama'];
$kota = $_GET['kota'];
$status = $_GET['status'];
$jumlahanak = $_GET['jumlahanak'];
$hobi = $_GET['hobi'];

Atau GET dan POST tersebut dapat juga diganti dengan $_REQUEST. $_REQUEST dapat memetakan secara cerdas. Namun perlu diingat adalah aspek keamanan. Misalnya hindari juga penggunaan REQUEST untuk Login HTTP yang diproses menggunakan POST. Karena bisa jadi orang akan mengacak dengan menggunakan method GET yang jelas lebih cepat prosesnya.

Inisiasi Variabel melalui GET dan POST seperti itu dapat dengan mudah kita lakukan. Namun bayangkan jika dalam sebuah form pendataan korban bencana alam, atau pendataan kesehatan dimana satu form dapat lebih dari 50 isian, tentu akan beresiko salah. Cara paling mudah melakukannya adalah dengan perintah fungsi php extract();

extract() adalah mengurai Array menjadi variabel sesuai dengan nama parameternya. Pada dasarnya $_SESSION, $_SERVER, $_POST, $_GET, $_REQUEST, adalah array, maka dapat diextract dengan mudah. Ingin membuktikan? Salah satu pembuatan array adalah dengan menggunakan $variabel[], memberikan tanda kurung siku di belakang variabel array. Cobalah dalam halaman anda tampilkan array yang ada dengan


print_r($_POST);
print_r($_GET);
//..dst

Misal : kita memiliki parameter POST

nama -> $_POST[‘nama’]
alamat -> $_POST[‘alamat’]
telepon -> $_POST[‘telepon’]

Maka, tinggal extract


extract( $_POST );

echo $nama;
echo "
"; echo $alamat; echo "
"; echo $telepon; echo "
";

Maka nama parameter POST seluruhnya akan berubah menjadi nama variabel sesuai dengan nama parameternya. Syarat penggunaannya adalah : pastikan dalam halaman itu tidak ada variabel yang sama. Selamat mencoba, semoga sukses dan bermanfaat