Jumat, 16 Maret 2012

Belajar PHP dan MySQL Part V (Array)



Penjelasan Array

Sejauh ini, variabel-variabel yang telah kita bahas hanya berisi sebuah nilai tunggal, seperti:
<?php
 
$i = 5;
 
?>
Namun, variabel array berbeda. Array adalah variabel yang kompleks yang memungkinkan Anda untuk menyimpan beberapa nilai dalam satu variabel (yang berguna jika Anda perlu untuk menyimpan dan merepresentasikan informasi terkait). Pikirkan dari array variabel sebagai “wadah” variabel, yang dapat mengandung satu atau lebih nilai. Contoh:
<?php
 
// define an array
$bahan_pizza = array('bawang', 'tomat', 'keju', 'ikan asin', 'daging sapi', 'pepperoni');
print_r($bahan_pizza);
 
?>
Di sini, $bahan_pizza adalah variabel array, yang berisi nilai-nilai ‘bawang’, ‘tomat’, ‘keju’, ‘ikan asin’, ‘daging sapi’ dan ‘pepperoni’. (Array variabel akan sangat berguna untuk mengelompokkan nilai-nilai yang terkait bersama-sama.)
print_r () adalah fungsi khusus yang memungkinkan Anda untuk mengambil menyelinap mengintip ke dalam sebuah array. Ini lebih berguna untuk debugging (mencari tahu mengapa naskah Anda tidak bekerja) daripada untuk tujuan tampilan, tapi aku akan menggunakannya di sini sehingga Anda dapat melihat apa yang sedang terjadi di bawah permukaan. Anda memiliki server Anda berjalan dan browser Anda terbuka, kan?

Berbagai elemen array diakses melalui nomor indeks, dengan elemen pertama dimulai dari nol. Jadi, untuk mengakses elemen ‘bawang’, Anda akan menggunakan notasi $bahan_pizza[0], sedangkan ‘ikan asin’ akan menjadi $bahan_pizza[3] – pada dasarnya, nama variabel array diikuti oleh nomor indeks dalam kurung siku tertutup.
PHP juga memungkinkan Anda untuk mengganti indeks dengan yang ditetapkan pengguna “kunci/key”, dalam rangka menciptakan sedikit berbeda tipe array. Setiap tombol adalah unik, dan sesuai dengan nilai tunggal dalam array.
<?php
 
//Define sebuah array
$buah = array('merah' => 'apel', 'kuning' => 'pisang', 'ungu' => 'plum', 'hijau' => 'anggur');
print_r($buah);
 
?>
Dalam kasus ini, $buah adalah sebuah variabel array yang berisi empat pasangan nilai kunci. (Simbol “=>” yang digunakan untuk menunjukkan hubungan antara kunci dan nilainya.) Dalam rangka untuk mengakses nilai ‘pisang’, Anda akan menggunakan notasi $buah['kuning'], sementara nilai ‘anggur’ akan dapat diakses melalui notasi $buah['hijau'].
Tipe array ini kadang-kadang disebut sebagai “hash” atau “array asosiatif”. Jika Anda pernah menggunakan Perl, Anda akan melihat kemiripan dengan variabel hash Perl.

Makanan Italia

Paling sederhana adalah untuk mendefinisikan variabel array adalah array () function.
Begini caranya:
<?php
 
// define an array
$pasta = array('spaghetti', 'penne', 'macaroni');
 
?>
Aturan untuk memilih nama variabel array sama dengan orang-orang untuk setiap variabel PHP yang lain: ia harus dimulai dengan huruf atau underscore, dan secara opsional dapat diikuti oleh lebih huruf, angka dan garis bawah.
Atau, Anda bisa mendefinisikan sebuah array dengan menetapkan nilai untuk setiap elemen dalam notasi indeks, seperti ini:
<?php
 
// define an array
$pasta[0] = 'spaghetti';
$pasta[1] = 'penne';
$pasta[2] = 'macaroni';
 
?>
Jika Anda seseorang yang lebih suka menggunakan tombol numerik daripada indeks default, Anda mungkin lebih suka contoh berikut:
<?php
 
// Define sebuah array
$menu['sarapan'] = 'daging dan telur';
$menu['makan siang'] = 'daging sapi panggang';
$menu['makan malam'] = 'lasagna';
 
?>
Anda dapat menambahkan elemen ke array dengan cara yang sama. Sebagai contoh, jika Anda ingin menambahkan elemen ‘zaitun hijau’ ke $bahan_pizza array, Anda akan menggunakan sesuatu seperti ini:
<?php
// Menambahkan elemen ke array
$bahan_pizza[3] = 'zaitun hijau';
 
?>
Dalam rangka untuk mengubah suatu elemen dari sebuah array, hanya memberikan nilai baru yang sesuai variabel skalar. Jika Anda ingin mengganti ‘daging sapi’ dengan ‘ayam’, Anda akan menggunakan:
<?php
// Memodifikasi sebuah array
$bahan_pizza[4] = 'ayam';
 
?>
Anda dapat melakukan hal yang sama dengan menggunakan kunci. Pernyataan berikut memodifikasi elemen dengan kunci ‘makan siang’ untuk nilai yang berbeda:
<?php
// Memodifikasi sebuah array
$menu['makan siang'] = 'steak dengan kentang pure';
 
?>

Push and Pull (Dorong Dan Tarik)

Anda juga dapat menambahkan elemen ke akhir array yang sudah ada dengan array_push () function:
<?php
// Define sebuah array
$pasta = array('spaghetti', 'penne', 'makaroni');
 
// Menambahkan suatu elemen akhir
array_push($pasta, 'tagliatelle');
 
print_r($pasta);
 
?>
Dan Anda dapat menghapus sebuah elemen dari akhir array menggunakan nama yang menarik, array_pop () function.
<?php
// Define sebuah array
$pasta = array('spaghetti', 'penne', 'makaroni');
 
// Menghapus 1 elemen dari ujung akhir
array_pop($pasta);
 
print_r($pasta);
 
?>
Jika Anda perlu pop elemen dari atas array, Anda dapat menggunakan array_shift () function:
<?php
// Define sebuah array
$pasta = array('spaghetti', 'penne', 'makaroni');
 
// Mengambil elemen dari atas
array_shift($pasta);
 
print_r($pasta);
 
?>
Dan array_unshift () fungsi mengurus menambahkan elemen ke awal dari array.
<?php
// Define sebuah array
$pasta = array('spaghetti', 'penne', 'makaroni');
 
// Menambahkan suatu unsur ke awal
array_unshift($pasta, 'tagliatelle');
 
print_r($pasta);
 
?>
Fungsi array_push() dan array_unshift() tidak bekerja dengan array asosiatif; untuk menambahkan elemen-elemen array ini, lebih baik untuk menggunakan $arr[$key] = $value notasi untuk menambahkan nilai-nilai baru ke array.

Fungsi Explode dan Implode

Fungsi explode() memecah string ke dalam komponen yang lebih kecil, yang didasarkan pada pengguna ditentukan pemisah, dan mengembalikan potongan sebagai elemen sebagai array.
<?php
// Define CSV string
$str = 'merah, biru, hijau, kuning';
 
// Dipecah menjadi kata-kata
$warna = explode(',', $str);
 
print_r($warna);
 
?>
Untuk melakukan sebaliknya, Anda dapat menggunakan fungsi implode(), yang menciptakan satu string dari semua elemen array dengan bergabung mereka bersama-sama dengan yang ditetapkan pengguna delimiter. Membalik contoh di atas, kita lihat:
<?php
// Define array
$warna = array ( 'merah', 'biru', 'hijau', 'kuning');
 
// Gabung menjadi satu string dengan 'dan'
// Kembali 'merah, biru, dan hijau dan kuning'
$str = implode('dan', $warna);
 
print $str;
 
?>

Sort dan Rsort – Pengurutan pada Array

Kedua contoh di bawah ini menunjukkan bagaimana fungsi sort() dan rsort() dapat digunakan untuk mengurutkan array abjad (atau secara numerik), di urutan menaik dan menurun:
<?php
// Define sebuah array
$pasta = array ('spaghetti', 'penne', 'makaroni');
 
// Mengembalikan array diurutkan sesuai abjad
sort($pasta);
print_r($pasta);
print "<br />";
 
// Mengembalikan array diurutkan sesuai abjad terbalik
rsort($pasta);
print_r($pasta);
 
?>

Looping Loop

Jadi yang menangani data meletakkan di dalam sebuah array. Sekarang, bagaimana mendapatkan itu keluar?
Mengambil data dari sebuah array sangat sederhana: semua yang perlu Anda lakukan adalah mengakses elemen yang sesuai dari array menggunakan nomor indeks. Untuk membaca seluruh array anda hanya loop di atasnya, menggunakan salah satu konstruksi loop yang Anda pelajari di Bagian sebelum nya dari tutorial ini.
Bagaimana contoh cepat?
<html>
<head> </head>
<body>
Band-band favorit saya adalah:
<ul>
 
<?php
 
// Define array
$seniman = array ('Metallica', 'Evanescence', 'Linkin Park', 'Guns n Roses');
// Loop di atasnya dan mencetak elemen array
for ($x = 0; $x < sizeof ($seniman); $x++) {
 echo '<li>' . $seniman[$x] . '</li>';
}
 
?>
 
</ul>
</body>
</html>
Ketika Anda menjalankan skrip ini, inilah yang akan Anda lihat:
Band-band favorit saya adalah:
* Metallica
* Evanescence
* Linkin Park
* Guns n Roses
Dalam hal ini, saya telah menetapkan sebuah array, dan kemudian menggunakan for () loop untuk: berjalan melalui itu, ekstrak unsur-unsur menggunakan notasi indeks, dan menampilkan mereka satu demi satu.
Aku akan menarik perhatian Anda di sini ke fungsi sizeof (). Fungsi ini adalah salah satu yang paling penting dan sering digunakan fungsi array. Ini mengembalikan ukuran (baca: jumlah elemen dalam) array. Hal ini kebanyakan digunakan dalam loop loket untuk memastikan bahwa loop iterates sebanyak yang terdapat elemen-elemen dalam array.
Jika Anda menggunakan array asosiatif, yang array_keys () dan array_values () fungsi berguna, untuk mendapatkan daftar semua kunci dan nilai-nilai dalam array.
<?php
 
//Define sebuah array
$menu = array ('sarapan' => 'daging dan telur', 'makan siang' => 'daging sapi panggang', 'makan malam' => 'lasagna');
 
/* Mengembalikan array ( 'sarapan', 'makan siang', 'makan malam') dengan angka indeks */
$result = array_keys($menu);
print_r($result);
print "<br />";
 
/* Mengembalikan array ( 'daging dan telur', 'daging panggang', 'lasagna') dengan angka indeks */
$result = array_values ($menu);
print_r($result);
 
?>

Alternatif baru untuk pemanggilan Loop! (PENTING)

Namun ada, cara yang lebih sederhana untuk penggalian semua elemen array. PHP 4,0 memperkenalkan sebuah pukulan-jenis loop baru yang dirancang khusus untuk tujuan iterasi array: yang foreach () loop. (Hal ini mirip dengan sintaks Perl membangun nama yang sama.) Inilah yang menjadi seperti ini:
<?php
foreach ($array as $temp) {
    //melakukan ini!
}
?>
foreach () loop dijalankan sekali untuk setiap elemen dari array berlalu untuk itu sebagai argumen, bergerak maju melalui array pada setiap iterasi. Tidak seperti for () loop, tidak memerlukan meja atau panggilan ke sizeof (), karena melacak posisinya dalam array secara otomatis. Pada masing-masing dilaksanakan, pernyataan di dalam kurung kurawal dijalankan, dan yang sedang dipilih elemen array yang tersedia melalui variabel loop sementara.
Untuk lebih memahami bagaimana ini bekerja, mempertimbangkan ini menulis ulang dari contoh sebelumnya, dengan menggunakan foreach () loop:
<html>
<head> </head>
<body>
Band-band favorit saya adalah:
<ul>
 
<?php
 
// Define array
$seniman = array ('Metallica', 'Evanescence', 'Linkin Park', 'Guns n Roses');
// Loop di atasnya
// Mencetak elemen array
foreach ($seniman as $a) {
 echo '<li>' . $a . '</li>';
}
 
?>
 
</ul>
</body>
</html>
Setiap kali loop dijalankan, itu tempat-tempat yang sedang dipilih elemen array di variabel $a. sementara Variabel ini kemudian dapat digunakan oleh pernyataan-pernyataan di dalam blok loop. Karena foreach () loop tidak perlu sebuah counter untuk melacak dari mana ia dalam array, itu lebih efektif dalam pemeliharaan dan juga lebih mudah untuk dibaca daripada standar for () loop. Oh ya … dan juga bekerja dengan array asosiatif, dengan pemrograman tanpa tambahan dibutuhkan.

Musik untuk Misa

Selain jelas mereka menggunakan, array dan loop juga datang dalam bentuk berguna saat memproses di PHP. Sebagai contoh, jika Anda memiliki grup kotak centang yang terkait atau multi-pilih daftar, Anda dapat menggunakan sebuah array untuk mengambil semua bentuk nilai-nilai yang dipilih dalam satu variabel, untuk menyederhanakan proses. Perhatikan contoh berikut, yang menggambarkan ini:
<html>
<head> </head>
<body>
 
<?php
// Memeriksa submit
if (!isset ($_POST['submit'])) {
 // Dan menampilkan form
 ?>
 
 <form action = "<?php echo $_SERVER['PHP_SELF'];?>" method = "POST">
 <input type="checkbox" name="artist[]" value="Bon Jovi"> Bon Jovi
 <input type="checkbox" name="artist[]" value="N'Sync"> N'Sync
 <input type="checkbox" name="artist[]" value="Boyzone"> Boyzone
 <input type="checkbox" name="artist[]" value="Britney Spears"> Britney Spears
 <input type="checkbox" name="artist[]" value="Jethro Tull"> Jethro Tull
 <input type="checkbox" name="artist[]" value="Crosby, Stills & Nash"> Crosby, Stills & Nash
 <input type="submit" name="submit" value="Select">
 </form>
 
<?php
} else {
 // Atau menampilkan artist yang dipilih
 // Menggunakan foreach loop untuk membaca dan menampilkan elemen array
 if (is_array ($_POST['artis'])) {
  echo 'Anda memilih: <br />';
  foreach ($_POST['artist'] as $a) {
     echo "<i>" . $a . "</i> <br />";
  }
 } else {
  echo 'Tidak ada yang dipilih';
 }
}
?>
 
</body>
</html>
Ketika di atas formulir dikirimkan, PHP akan secara otomatis membuat variabel array, dan mengisi dengan item yang dipilih. Array ini kemudian dapat diproses dengan sebuah foreach () loop, dan item yang dipilih diambil dari itu.
Anda dapat melakukan ini dengan multi-pilih daftar juga, hanya dengan menggunakan notasi array dipilih dari “nama” atribut. Mencobanya sendiri dan melihat … dan pastikan Anda menjalankan PHP selama tutorial.

Tidak ada komentar:

Posting Komentar