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): bool
Code language: PHP (php)
Fungsi in_array() di PHP memiliki tiga parameter.
$needle
adalah nilai yang dicari.$haystack
adalah data array yang menjadi objek pencarian.$strict
digunakan untuk mengaktifkan pencarian secara ketat, secara default atau bawaan nilainyaFALSE
artinya 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.