Fungsi in_array() di PHP digunakan untuk memeriksa nilai pada sebuah elemen, apakah nilai yang kita cari ada atau tidak pada elemen array. Dengan menggunakan fungsi in_array() tentunya akan membuat pekerjaan kita lebih mudah dan cepat daripada memeriksanya menggunakan iterasi.
Berikut ini adalah deskripsi penggunan fungsi in_array().
in_array(mixed $needle, array $haystack, bool $strict = false): boolCode language: PHP (php)
Fungsi in_array() di PHP memiliki tiga parameter.
$needleadalah nilai yang dicari.$haystackadalah data array yang menjadi objek pencarian.$strictdigunakan untuk mengaktifkan pencarian secara ketat, secara default atau bawaan nilainyaFALSEartinya menggunakan operator==.
Fungsi in_array() akan mencari nilai elemen dari $haystack berdasarkan nilai $needle dengan melakukan perbandingan menggunakan operator == jika nilai $strict adalah FALSE, sedangkan jika anda ubah $strict menjadi TRUE akan menggunakan operator === sehingga proses pencarian lebih ketat, artinya tipe data yang dicari dan nilai dari elemen itu sendiri harus sama.
Baca juga: Tutorial Multidimensional Array Di PHP
Jika nilai yang dicari ada pada data array tersebut maka in_array() akan mengembalikan nilai TRUE, sedangkan jika tidak ada maka akan mengembalikan nilai FALSE.
Contoh penggunaan fungsi in_array() di PHP
Mari kita coba praktekan dengan beberapa kode kemungkinan-kemungkinan yang bisa dilakukan oleh fungsi in_array() di PHP untuk melakukan proses pengecekan nilai pada sebuah elemen array.
1. Penggunaan dasar fungsi in_array()
<?php 
$array = [
    'Januari',
    'Februari',
    'Maret',
    'April'
];
$inArray = in_array('Januari', $array);
var_dump($inArray); // Output: bool(true)Code language: HTML, XML (xml)
Contoh kode diatas akan mengembalikan nilai TRUE, karena Januari ada di elemen pertama data $array diatas.
<?php 
$array = [
    'Januari',
    'Februari',
    'Maret',
    'April'
];
$inArray = in_array('Desember', $array);
var_dump($inArray); // Output: bool(false)Code language: HTML, XML (xml)
Sedangkan pada kode diatas, Desember tidak ada di elemen apapun pada data $array diatas sehingga menghasilkan FALSE pada nilai kembaliannya.
Baca juga: Tutorial array_push() di PHP
2. Menggunakan fungsi perbandingan ketat
Secara default, fungsi in_array() di PHP menggunakan operator == dan bukan === sehingga fungsi tersebut tidak memperhatikan tipe data dari nilai yang dicari, sebagai contoh.
<?php 
$array = [1, '5', '8', 3];
$inArray = in_array(5, $array);
var_dump($inArray); // Output: bool(true)Code language: HTML, XML (xml)
Kode diatas akan mengembalikan nilai TRUE, jika diperhatikan tidak ada yang salah, karena di $array juga memiliki angka 5 namun berbeda dengan yang dicari, angka yang dicari adalah 5 dengan tipe number / integer, sedangkan 5 yang ada di $array adalah string.
Berikut ini adalah contoh yang mengharusnya fungsi in_array() melakukan komparasi secara ketat sesuai dengan nilai dan tipe data yang sama.
<?php 
$array = [1, '5', '8', 3];
$inArray = in_array(5, $array, true);
var_dump($inArray);Code language: HTML, XML (xml)
Jika anda memberikan nilai TRUE pada $strict maka fungsi in_array() di PHP akan menggunakan operator === untuk melakukan kompasi nilai yang di cari, sehingga perbedaan string dan number akan memiliki hasil yang berbeda meskipun nilainya secara tulis adalah sama.
Demikian tutorial mengenai fungsi in_array di PHP(), jika ada pertanyaan silakan tinggalkan komentar dibawah ini.