Array Function di PHP yang paling sering digunakan

array function-di-php-yang-paling-sering-digunakan

array function di php yang paling sering digunakan - Sore sobs-sobs sekalian semoga kalian pada sehat walafiat, okeeeyyy pada kesempatan kali ini gua akan share pengalaman gua, ingat ini menurut pengalaman gua jadi setiap orang bisa berbeda-beda, pengalaman yang ingin gua share adalah tentang array function, apa itu sih array function ??? percaya atau tidak mungkin pada saat sobs-sobs membaca artikel ini tanpa disadari sobs-sobs sudah menggunakannya. oke singkatnya array function adalah sebuah fungsi yang digunakan untuk memanipulasi array atau mendapatkan informasi yang terkait dengan array tersebut, masih bingung !! oke kalo yang masih bingung kita step by step sobs-sobs, pelan-pelan saja. disini gua coba menjelaskan dengan cara gua sobs-sobs, Oke langsung daftar array function yang paling sering gua gunakan.



1.    count

dari namanya saja jika ditranslatekan ke bahasa indonesia mempunyai arti hitung, artinya dengan menggunakan fungsi ini kita dapat mengetahui jumlah element dari sebuah array.




$binatang = ["kuda", "kucing", "kambing", "kodok"];

echo count($binatang);

Sobs-sobs bisa menebak apa yang akan ditampikan, yups jika kita menjalankan program diatas maka akan tampil angka 4 karena jumlah element array binatang ada 4 buah. fungsi ini mengembalikan nilai dengan tipe data integer. bisa dicek



$binatang = ["kuda", "kucing", "kambing", "kodok"];

echo count($binatang);          echo "<br>";
var_dump(count($binatang));

jika kode diatas dijalankan maka akan tampil

4
int(4)

terlihat dibaris kedua int(4), int merupakan tipe datanya dan didalam kurung adalah nilainya. kita juga bisa menyimpan hasil fungsi count ini kedalam sebuah variabel karena pada dasarnya fungsi mengembalikan nilai. sebagai contoh :


$binatang = ["kuda", "kucing", "kambing", "kodok"];

$jumlahBinatang = count($binatang);

echo "jumlah binatang ada $jumlahBinatang";

jika kode diatas dijalankan maka yang akan tampil adalah "jumlah binatang ada 4".

Sekarang kita coba sekali lagi dengan kode dibawah ini dan jalankan.


$binatang = [
    "karnivora" => ["Singa", "Hiu", "Serigala", "Harimau"],
    "herbivora" => ["Jerapah", "Gajah", "Kuda", "Sapi"]
];

$jumlahBinatang = count($binatang);

echo "jumlah binatang ada $jumlahBinatang";


Bang ngaco ini masa tampilannya "jumlah binatang ada 2". etttt sabar sobs-sobs jika tampilannya seperti tidak ada yang salah memang benar jadi seperti itu, jika kita membuat struktur array seperti diatas maka fungsi count hanya akan menghitung karnivora dan herbivora saja atau kata lainnya hanya keynya saja. pertanyaan selajutnya yang mungkin sobs-sobs tanyakan bang gua mau tau jumlah element yang ada di karnivora dan herbivora gimanaaaaa, oke silahkan perhatikan kode dibawah ini :


$binatang = [
    "karnivora" => ["Singa", "Hiu", "Serigala", "Harimau"],
    "herbivora" => ["Jerapah", "Gajah", "Kuda", "Sapi"]
];

$jumlahKategoriBinatang = count($binatang); // 2 yaitu karnivora dan herbivora

$jumlahSeluruhElement = count($binatang, COUNT_RECURSIVE); // 10

$jumlahBinatang = $jumlahSeluruhElement - $jumlahKategoriBinatang; // 8

echo "jumlah seluruh binatang : $jumlahBinatang";

perhatikan $jumlahSeluruhElement menggunakan fungsi count() dan ternyata fungsi ini mempunyai optional parameter ke - 2, COUNT_RECURSIVE adalah parameter ke - 2 yang bisa kita tulis maksud ini adalah menghitung keseluruhan jumlah element tidak peduli dia sebagai key ataupun value, jika kita lihat struktur array assosiative diatas maka karnivora dan herbivora berfungsi sebagai key yang mempunyai element berupa array, dan dimasing masing array tersebut mempunya 4 element.
kesimpulannya element array key jumlah berjumlah 2 dan jumlah element dari key karnivora berjumlah 4 dan jumlah element dari key herbivora berjumlah 4 maka jika dijumlahakan menjadi 10
pada variabel $jumlahBinatang kita melakukan operasi pengurangan jumlah seluruh element bernilai 10 akan dikurang jumlah key pada array yaitu 2 maka kita bisa mendapatkan jumlah keseluruhan element dari karnivora dan herbivora.

huftt, gua seruput kopi dulu sobs-sobs. contoh diatas ane buat sesimpel mungkin diasumsi sobs-sobs sudah mengetahui dasar PHP.


2.    array_push dan array_pop


anggap saja dua fungsi ini sebagai upin dan ipin sobs karena pada pembahasan ke-2 fungsi ini selalu tak terpisahkan, kenapa gua buat kaya gini agar alur penjelasannya lebih jossss. hahaha
oke mulai pembahasannya jika sobs-sobs menggunakan kedua fungsi ini maka sobs-sobs memberlakukan array seperti tumpukan buku, lohhhhh kenapa bang ? oke simak-simak,  sobs-sobs pernah menumpuk buku kedalam kardus, jika belum please coba. andaikan yang sudah pernah maka tau dong buku yang pertama kali sobs taro akan menjadi buku yang paling bawah dan buku yang terakhir sobs tumpuk maka akan menjadi buku yang teratas, dan jika sobs-sobs ingin mengosongkan kardus maka buku yang paling atas harus sobs-sobs ambil sampai buku yang paling bawah. nah analogi itu pada saat menumpuk buku itu seperti fungsi array_push dan sobs-sobs mengambil buku satu-persatu dari yang paling atas seperti array_pop.

2.1.    array_push / menambahkan value baru ke posisi array paling belakang



$buah = ["anggur", "apel", "nanas"];

echo "jumlah buah ada = " . count($buah) . "<br>";

echo "<pre>";
    print_r($buah);
echo "</pre>";
// tambahkan element kepaling belakang array array_push($buah, "nangka"); echo "jumlah buah ada = " . count($buah) . "<br>"; echo "<pre>";
    print_r($buah);
echo "</pre>";

silahkan jalankan kode diatas. dan lihat hasilnya. array_push mempunyai dua parameter wajib, parameter ke-1 array yang kita ingin tambahkan, dan parameter ke-2 value yang ingin kita tambahkan, value ini bisa apa saja tidak harus selalu string, sobs bisa ganti dengan array lagi atau boolean, atau apa ajalah. hehe

2.2.    array_pop  / menghapus element paling belakang array



$buah = ["anggur", "apel", "nanas"];

echo "jumlah buah ada = " . count($buah) . "<br>";

echo "<pre>";
    print_r($buah);
echo "</pre>";

// menghapus element paling belakang array
array_pop($buah);
echo "jumlah buah ada = " . count($buah) . "<br>";

echo "<pre>";
    print_r($buah);
echo "</pre>";


silahkan jalankan kode diatas maka buah nanas yang tadi ada sekarang tidak ada, siapa yang nyolongggg, woy nanas gua mana ??? nah ini fungsi array_pop untuk menghapus element paling belakang dari suatu array. fungsi ini sebenarnya fungsi yang mengembalikan nilai, dan nilai yang dikembalikan adalah element yang dihapus, perhatikan kode dibawah ini :

$buah = ["anggur", "apel", "nanas"];

echo "jumlah buah ada = " . count($buah) . "<br>";

echo "<pre>";
    print_r($buah);
echo "</pre>";

// menghapus element paling belakang array
$buahYangHilang = array_pop($buah);
echo "buah yang hilang adalah $buahYangHilang <br>";


echo "jumlah buah ada = " . count($buah) . "<br>";

echo "<pre>";
    print_r($buah);
echo "</pre>";

variabel $buahYangHilang akan berisikan nanas.


3.    array_unshift dan array_shift

oke anggap dua fungsi sebagai spongebob dan patrick selalu tak terpisahkan dimaksudkan agar sobs-sobs mudah mengingatnya. jika sobs sekalian menggunakan salah satu fungsi tersebut artinya sobs sekalian memperlakukan sebuah array layaknya antrian, lahhh bagaimana ceritanya bang ? oke pelan-pelan jangan buru-buru !!. jika fungsi sebelumnya kita memberlakukan array layaknya tumpukan maka untuk kedua fungsi ini perumpaan yang tepat adalah antrian. sobs pernah belanja di indom*ret atau alfam*ret jika pernah pada saat ingin melakukan pembayaran sobs perlu mengantri terlebih dahulu dan tentunya saja antrian yang diproses adalah posisi paling depan dan jika proses pembayaran selesai maka antrian itu berkurang satu karena antrian paling depan sudah diproses dilanjutkan antrian belakangnya. konsep ini dalam bahasa inggrisnya adalah queue / antrian. oke langsung saja

3.1.    array_unshift  / menambahkan value baru ke posisi depan array

$warna = ["hitam", "putih", "ungu"];

echo "Jumlah warna : " . count($warna) . "<br>";

echo "<pre>";
    print_r($warna);
echo "</pre>";

// menambahkan nilai baru ke posisi paling depan array
array_unshift($warna, "pink");

echo "Jumlah warna : " . count($warna) . "<br>";

echo "<pre>";
    print_r($warna);
echo "</pre>";

silahkan jalankan, warna pink akan menjadi element paling depan atau awal dari array warna

3.2.    array_shift  / menghapus element paling depan array

$warna = ["hitam", "putih", "ungu"];

echo "Jumlah warna : " . count($warna) . "<br>";

echo "<pre>";
    print_r($warna);
echo "</pre>";

// hapus element paling depan array dan tampung warna yang dihapus ke variabel
$warnaHilang = array_shift($warna);

echo "warna yang hilang : $warnaHilang <br>";

echo "Jumlah warna : " . count($warna) . "<br>";

echo "<pre>";
    print_r($warna);
echo "</pre>";

sama seperti fungsi array_pop fungsi array_shift juga mengembalikan nilai dari element yang dihapus.
variabel $warnaHilang akan berisi "hitam".


4.    in_array

Selanjutnya yang paling sering gua pake sobs-sobs adalah fungsi in_array, apa sih fungsi ini ? fungsi ini adalah ketika kita mencari suatu nilai dalam suatu array. nilai kembalian fungsi ini berupa boolean true atau false. fungsi ini mempunyai dua parameter wajib, parameter pertama nilai yang ingin kita cari dan parameter kedua array tempat kita cari. oke langsung saja perhatikan kode dibawah ini : 

$siswaHadir = ["bambang", "karyo", "welas"];

// true
var_dump( in_array("bambang", $siswaHadir) );  echo "<br>";

// false
var_dump(in_array("susi", $siswaHadir));

Kedua contoh tersebut masing-masing menghasilkan true dan false. true jika nilai yang dicari ada dan false jika nilai yang dicari tidak ada. fungsi ini juga bisa digunakan dalam conditional.


$siswaHadir = ["bambang", "karyo", "welas", "sukimin"];

$cariSiswa = "bambang";

if (in_array($cariSiswa, $siswaHadir)) {
    echo "$cariSiswa hadir !!!";
} else {
    echo "$cariSiswa tidak hadir !!!";
}

diatas adalah contoh sederhana. hehe untungnya bambang engga bolos. penggunaan in_array juga sering saya gunakan untuk middleware laravel contoh penggunaannya sobs-sobs bisa baca Membuat multiple login user dengan role menggunakan middleware di Laravel.

tambahan lagi didalam fungsi in array terdapat argument ketiga yang bersifat optional, yaitu strict mode jika argument ketiga tidak ditulis maka dianggap false, dan jika kita tambahkan true maka strict mode didalam fungsi in_array ini aktif. berikut ini contohnya :

$angka = [10, 20, 30, 40, 50];

// menghasilkan true
var_dump(in_array("20", $angka)); 		echo "<br>";

// menghasilkan false
var_dump(in_array("20", $angka, true));	        echo "<br>";


5.    array_key_exists

Berikutnya yang sering saya gunakan adalah fungsi array_key_exists, fungsi ini digunakan untuk mengecek keberadaan key didalam suatu assosiative array. sama seperti in_array nilai kembalian fungsi ini hanya berupa boolean true atau false. berikut ini contohnya :


$nilaiUas = [
    "dini" => [70, 80, 65],
    "diah" => [87, 66, 67],
    "dinda" => [78, 88, 67]
];

// true
var_dump(array_key_exists("dini", $nilaiUas));      echo "<br>";

// false
var_dump(array_key_exists("dino", $nilaiUas));      echo "<br>";

fungsi ini mempunyai dua parameter wajib parameter pertama adalah nilai yang ingin dicari didalam key array assosiative dan parameter adalah array assosiative yang ingin dicari.

6.    array_search

fungsi ini berfungsi jika kita ingin mengetahui index dari suatu array atau key dari suatu array assosiative. fungsi ini akan mengembalikan tipe data berupa integer dengan posisi index jika tidak ditemukan maka fungsi ini akan mengembalikan nilai boolean berupa false. berikut dibawah ini contohnya : 

$buah = ["nanas", "anggur", "mangga"];

// 1
var_dump(array_search("anggur", $buah));    echo "<br>";


// false
var_dump(array_search("apel", $buah));      echo "<br>";


$handphone = [
    "samsung" => "Galaxy S20",
    "xiaomi" => "Redmi 5 Plus"
];

// xiaomi
var_dump(array_search("Redmi 5 Plus", $handphone));     echo "<br>";

// false
var_dump(array_search("apple 11", $handphone));

fungsi ini mempunyai dua parameter, parameter pertama adalah nilai value yang ingin kita ketahui indexnya atau keynya dan paramter kedua tentunya adalah arraynya.


7.    array_slice

fungsi ini adalah untuk mengambil element-element array, fungsi ini mempunyai dua parameter wajib parameter pertama asal array yang ingin kita ingin ambil elementnya, parameter kedua adalah index kita melakukan pengambilan. dan parameter ketiga adalah optional untuk parameter ketiga ini adalah jumlah element yang ingin kita ambil elementnya. jika parameter tidak ditulis maka array akan diambil mulai dari index yang ingin kita ambil sampai belakang. oh iya fungsi ini tidak akan merubah array asal atau array yang ingin kita ambil elementnya, fungsi ini mengembalikan nilai berupa array hasil kita melakukan slice atau iris tipisss.

$buah = ["mangga", "rambutan", "nanas", "apel", "anggur"];

$buahDiambil = array_slice($buah, 2);

// ["nanas", "apel", "anggur"]
var_dump($buahDiambil);             echo "<br>";


$buahDiambil = array_slice($buah, 2, 2);
// ["nanas", "apel"]
var_dump($buahDiambil);

Silahkan cermati kode diatas sobs-sobs.

8.    array_intersect dan array_diff

fungsi array_intersect adalah fungsi untuk mencari element yang sama diantara beberapa array. sedangkan fungsi array_diff untuk mencari element yang berbeda.
 
$buahDini = ["anggur", "nanas", "semangka"];

$buahDono = ["nanas", "apel", "pisang"];

$buahYangSama = array_intersect($buahDini, $buahDono);
// ["nanas"]
var_dump($buahYangSama);    echo "<br>";


$buahYangBeda = array_diff($buahDini, $buahDono);
// ["anggur", "semangka"]
var_dump($buahYangBeda);    echo "<br>";

fungsi array_intersection minimal dua parameter wajib dituliskan, untuk fungsi tidak ada batasan beberapa array yang ingin dicari.

fungsi array_diff sama seperti fungsi array_intersection minimal dua parameter ditulis, fungsi ini akan melakukan perbandingan pada array pertama dan array berikutnya. hasil dari fungsi ini berupa kembalian dari element yang berbeda pada array pertama. !! ingat hanya pada array pertama sobs-sobs.


9.    array_splice

dan fungsi terakhir adalah array_splice fungsi ini untuk menghapus atau mengambil element tertentu array pada index dan range yang bisa kita tentukan sendiri sobs-sobs, oke silahkan lihat contoh dibawah : 

$unggas = ["ayam", "angsa", "kucing", "bebek"];

array_splice($unggas, 2, 1);

echo "<pre>";
    print_r($unggas);
echo "</pre>";

Jika sobs-sobs menjalankan kode diatas maka kucing akan hilang dari daftar array unggas, penjelasannya dibawah ini : 
parameter-1 (wajib) = Array yang ingin kita lakukan operasi splice
parameter-2 (wajib) = Index mulai dimana kita ingin menghapus atau mengambil
parameter-3 (tidak wajib) = Jumlah element yang ingin kita ambil contoh diatas gua nulis angka 1 artinya hanya satu element saja yaitu kucing, jika parameter ketiga ini tidak ditulis maka kita akan menghapus element sampai belakang.

fungsi ini juga mengembaliakn nilai berupa array, dimana nilai ini bisa kita tampung kedalam sebuah variabel, berikut contohnya : 

$unggas = ["ayam", "angsa", "kucing", "bebek"];

$hewanTerhapus = array_splice($unggas, 2, 1);

// ["ayam", "angsa", "bebek"]
echo "<pre>";
    print_r($unggas);
echo "</pre>";

echo "<br>";

// ["Kucing"]
var_dump($hewanTerhapus);

Lah pertanyaan yang mungkin dibenat sobs-sobs, Lah bang bukannya kalo hapus bisa pake unset Ya ??? oke untuk melihat perbedaanya sobs-sobs silahkan jalankan kode dibawah ini : 

// ========= dengan unset ==========

$unggas = ["ayam", "angsa", "kucing", "bebek"];

unset($unggas[2]);

echo "<pre>";
    print_r($unggas);
echo "<pre>";


// ========= dengan splice ========

$unggas = ["ayam", "angsa", "kucing", "bebek"];

array_splice($unggas, 2, 1);

echo "<pre>";
    print_r($unggas);
echo "<pre>";

Gimana sudah lihat perbedaanya ?? oke kalo belum sadar jika kita menggunakan unset untuk menghapus suatu element array maka index dari array kita tidak akan berubah artinya index kita tidak akan berurutan, dan jika kita menggunakan array_splice index akan terupdate dan berurutan kembali.

pertanyaan berikutnya lalu apa bedanya bang array_slice sama array_splice  bedanya 
array_slice tidak mengubah array asal
array_splice mengubah array asal
itu dia sih penjelasan yang simpelsss sobs-sobs, untuk memperdalam silahkan sobs-sobs cari konsep immutable dan mutable dalam bahasa pemrograman, konsep itu membantu kita untuk memahami array function diphp atau bahasa pemrograman lainnya.

Oke sekian sobs-sobs array function yang sering gua gunakan, mungkin tidak banyak dan kedepannya sebenarnya masih banyak lagi fungsi-fungsi lain,  berhubung kopi sudah mau abis dan udut tinggal 1/4 saya akhiri tulisan kali ini sobs. 

gua sadar sobs-sobs bahwa tulisan ini masih banyak kekurangan, jika sobs-sobs ada yang kurang Vaham silahkan googling atau bertanya lewat kolom komentar.



See you next time.

Posting Komentar untuk "Array Function di PHP yang paling sering digunakan"