PHP #15 - Array (Bag. I)

28 Sep 2020 • ⏳ ~ 14 menit

 

Array merupakan sebuah wadah yang dapat menampung sekumpulan data atau nilai dengan tipe data yang berbeda. Dalam array, setiap data atau nilai terkait dengan key atau indeks. Oleh karena itu, array sering juga disebut sebagai ordered map.

Secara default, indeks pada array dimulai dari 0. Dalam PHP, tipe data yang satu ini dapat dipergunakan sebagai list, collection, stack, dan sebagainya. Array dapat dibagi menjadi one-dimensional array dan multi-dimensional array, hal ini dikarenakan nilai dari anggotanya dapat berupa array juga.

Menginisialisasi Array

Kita memiliki dua cara untuk membentuk sebuah array, yaitu array() dan []. Kedua sintaks ini memiliki tujuan yang sama, yaitu menginisialisasi sebuah variabel dengan tipe data array beserta nilai elemen-elemennya. Akan tetapi, penggunaan [] dalam menginisialisasi sebuah array lebih kita utamakan karena sintaks array() sudah lawas dan mulai ditinggalkan. Mari kita coba menginisialisasi sebuah array pada contoh berikut.

<?php
  $vegetables = array("Cabai", "Tomat", "Kacang", "Kubis", "Wortel");
  # Sintaks yang satu ini sudah mulai ditinggalkan

  $randomArray = ["Hi", -1, 2.8, true, [1, 2, 3], NULL];
  # Sintaks ini yang lebih kita utamakan

  var_dump($vegetables);
  var_dump($randomArray);
?>
array(5) {
  [0]=>
  string(5) "Cabai"
  [1]=>
  string(5) "Tomat"
  [2]=>
  string(6) "Kacang"
  [3]=>
  string(5) "Kubis"
  [4]=>
  string(6) "Wortel"
}

array(6) {
  [0]=>
  string(2) "Hi"
  [1]=>
  int(-1)
  [2]=>
  float(2.8)
  [3]=>
  bool(true)
  [4]=>
  array(3) {
    [0]=>
    int(1)
    [1]=>
    int(2)
    [2]=>
    int(3)
  }
  [5]=>
  NULL
}

Pada contoh di atas, kita menginisialisasi array dengan beragam tipe data sebagai anggota elemen. Bagaimana jika kita ingin menginisialisasi sebuah array kosong? Kita dapat melakukannya seperti contoh berikut.

<?php
  $firstArray = array();
  $secondArray = [];

  var_dump($firstArray);
  var_dump($secondArray);
?>
array(0) {
}

array(0) {
}

Jenis-jenis Array

Terdapat beberapa jenis array pada PHP, antara lain:

1. Numeric Array

Numeric Array adalah array yang dibentuk dengan tiap elemennya terkait dengan indeks angka. Secara default, array yang dibentuk adalah numeric array dan indeks dimulai dengan 0. Berikut contoh penerapannya.

<?php
  $randomNames = [
    'Audy',
    'Joy',
    'Yoshep',
    'Salimin',
  ];

  print_r($randomNames);
?>
Array
(
    [0] => Audy
    [1] => Joy
    [2] => Yoshep
    [3] => Salimin
)

2. Associative Array

Associative Array merupakan array yang diinisialisasi menggunakan indeks atau key berupa string/huruf untuk mengait elemen-elemennya. Perhatikan penerapannya dalam contoh berikut.

<?php
  $theBook = [
    'Title' => 'Harry Potter Part 1',
    'Author' => 'J.K. Rowling',
    'Year' => '2001',
  ];

  print_r($theBook);
?>
Array
(
    [Title] => Harry Potter Part 1
    [Author] => J.K. Rowling
    [Year] => 2001
)

Kita lihat pada hasil dari array $theBook, indeks atau key dari array associative ini sesuai dengan indeks string yang kita inisialisasikan di awal.

3. Multi-Dimensional Array

Multi-Dimensional Array merupakan sebuah array yang menyimpan nilai dengan tipe data array sebagai elemennya. Mari kita perhatikan contoh kode berikut.

<?php
  $scholarsList = [
    [
      'NIM' => '193456781',
      'Nama' => 'Kepon',
      'Stambuk' => '19',
    ],
    [
      'NIM' => '203456782',
      'Nama' => 'Kepun',
      'Stambuk' => '20',
    ],
    [
      'NIM' => '123456789',
      'Nama' => 'Kepin',
      'Stambuk' => '17',
    ],
  ];

  print_r($scholarsList);
?>
Array
(
    [0] => Array
        (
            [NIM] => 193456781
            [Nama] => Kepon
            [Stambuk] => 19
        )

    [1] => Array
        (
            [NIM] => 203456782
            [Nama] => Kepun
            [Stambuk] => 20
        )

    [2] => Array
        (
            [NIM] => 123456789
            [Nama] => Kepin
            [Stambuk] => 17
        )

)

Menambah Elemen Array

Dalam PHP, terdapat beberapa jenis array yang masing-masing memiliki cara berbeda dalam menambahkan elemen baru. Berikut cara menambahkan elemen baru pada masing-masing jenis array.

Numeric Array

Kita dapat menambahkan elemen baru pada numeric array dengan melakukan inisialisasi terhadap indeks baru. Sebagai contoh, kita memiliki numeric array $randomNames dengan 4 elemen. Jika kita ingin menambahkan nilai 'Rizky' pada array tersebut, kita dapat menginisialisasinya sebagai elemen kelima pada indeks [4]. Perhatikan penerapannya pada kode berikut.

<?php
  $randomNames = [
    'Audy',
    'Joy',
    'Yoshep',
    'Salimin',
  ];

  // Menambah elemen kelima
  $randomNames[4] = 'Rizky';

  print_r($randomNames);
?>
Array
(
    [0] => Audy
    [1] => Joy
    [2] => Yoshep
    [3] => Salimin
    [4] => Rizky
)

Contoh di atas dapat dilakukan jika kita tahu nilai indeks terakhir array yang akan kita masukkan. Bagaimana jika kita tidak tahu? Kita dapat melakukannya seperti contoh berikut.

<?php
  // Lanjutan kode sebelumnya
  $randomNames[] = 'Katherine';

  print_r($randomNames);
?>
Array
(
    [0] => Audy
    [1] => Joy
    [2] => Yoshep
    [3] => Salimin
    [4] => Rizky
    [5] => Katherine
)

Associative Array

Pada associative array, kita dapat menginisialisasi elemen baru dengan key yang kita inginkan. Sebagai contoh, kita memiliki associative array $bookDetails. Kita ingin menambahkan elemen baru dengan key 'Publisher' dan value 'Viking Press'. Hal tersebut dapat kita lakukan seperti contoh berikut.

<?php
  $bookDetails = [
    'Title' => 'The Outsiders',
    'Author' => 'S.E. Hinton',
    'Year' => '1967',
  ];

  // Menambah elemen dengan key 'Publisher'
  $bookDetails['Publisher'] = 'Viking Press';

  print_r($bookDetails);
?>
Array
(
    [Title] => The Outsiders
    [Author] => S.E. Hinton
    [Year] => 1967
    [Publisher] => Viking Press
)

Jika kita menginisialisasi value pada key atau indeks yang sudah ada, value sebelumnya pada key atau indeks tersebut akan digantikan dengan value baru yang diinisialisasi.

Mengakses dan Mengubah Elemen Array

Cara mengakses dan mengubah elemen suatu array mirip seperti cara menambah elemen. Namun, mengakses dan mengubah elemen merupakan hal yang berbeda. Dalam mengakses, kita mengambil nilai elemen dengan indeks atau key tertentu. Sedangkan dalam mengubah, kita menginisialisasi nilai baru terhadap elemen dengan indeks atau key yang sudah ada. Berikut cara mengakses dan mengubah elemen pada masing-masing jenis array.

Numeric Array

Pada numeric array, kita dapat mengakses dan mengubah nilai suatu elemen dengan memanfaatkan indeks dari elemen tersebut. Misalnya, jika kita ingin mengakses nilai elemen indeks [3] dan mengubah nilai elemen indeks [4] dengan 'Ricky' pada array $randomNames, kita dapat melakukannya seperti contoh kode berikut.

<?php
  $randomNames = [
    'Audy',
    'Joy',
    'Yoshep',
    'Salimin',
    'Rizky',
    'Katherine',
  ];

  // Mengakses nilai elemen indeks ke-3
  print_r($randomNames[3]);

  // Mengubah nilai elemen indeks ke-4
  $randomNames[4] = 'Ricky';

  print_r($randomNames);
?>
Salimin

Array
(
    [0] => Audy
    [1] => Joy
    [2] => Yoshep
    [3] => Salimin
    [4] => Ricky
    [5] => Katherine
)

Associative Array

Cara mengakses dan mengubah nilai elemen suatu associative array mirip seperti numeric array. Hanya saja, kita memanfaatkan key elemen pada array jenis ini. Misalkan kita ingin mengubah nilai elemen dengan key 'Title' menjadi 'Harry Potter Part 2' dan mengakses nilai dari elemen 'Author' dari array $trialBook yang telah ada. Kita dapat melakukannya seperti contoh kode berikut.

<?php
  $trialBook = [
    'Title' => 'Harry Potter Part 1',
    'Author' => 'J.K. Rowling',
    'Year' => '2001',
  ];

  // Mengubah nilai elemen key 'Title'
  $trialBook['Title'] = 'Harry Potter Part 2';

  // Mengakses nilai elemen key 'Author'
  print_r($trialBook['Author']);

  print_r($trialBook);
?>
J.K. Rowling

Array
(
    [Title] => Harry Potter Part 2
    [Author] => J.K. Rowling
    [Year] => 2001
)

Menghitung Ukuran Array

Untuk menghitung ukuran (size) dari sebuah array, kita dapat menggunakan function count().

Sintaks count()

<?php
  count($array, $mode);
?>
  • Parameter $array berisi nama variabel dari array yang ingin diketahui ukurannya.
  • Parameter $mode bersifat opsional, diisi dengan nilai 0 atau 1. Secara default, $mode bernilai 0 dan berfungsi menghitung jumlah elemen secara normal. Jika kita menentukan nilai $mode sebagai 1, perhitungan dilakukan secara rekursif terhadap seluruh elemen (elemen dan sub-elemen), biasanya diterapkan pada multi-dimensional array.

Berikut contoh penerapan count().

<?php
  $scholars = [
    'Mahasiswa 1' => [
      'NIM' => '193456781',
      'Nama' => 'Kepon',
      'Stambuk' => '19',
    ],
    'Mahasiswa 2' => [
      'NIM' => '203456782',
      'Nama' => 'Kepun',
      'Stambuk' => '20',
    ],
    'Mahasiswa 3' => [
      'NIM' => '173456789',
      'Nama' => 'Kepin',
      'Stambuk' => '17',
    ],  
  ];

  echo 'Jumlah elemen yang ada di array scholars (mode 0): ' . count($scholars);
  # Output: Jumlah elemen yang ada di array scholars (mode 0): 3

  echo 'Jumlah elemen yang ada di array scholars (mode 1): ' . count($scholars, 1);
  # Output: Jumlah elemen yang ada di array scholars (mode 1): 12
?>

Menghapus Elemen pada Array

Menghapus elemen pada array dapat dilakukan dengan menggunakan fungsi unset(). Fungsi ini tidak hanya dapat digunakan pada array, tetapi juga pada tipe data lainnya. Kita dapat melakukan penghapusan elemen tertentu atau seluruh elemen pada sebuah array.

Kita akan mencoba untuk menghapus salah satu elemen pada numeric array. Mari perhatikan contoh kode berikut.

<?php
  $fruits = ['Apel', 'Pisang', 'Jeruk', 'Mangga', 'Kiwi'];

  // Menghapus elemen indeks ke-2 dengan nilai 'Jeruk'
  unset($fruits[2]);

  print_r($fruits);
?>
Array
(
    [0] => Apel
    [1] => Pisang
    [3] => Mangga
    [4] => Kiwi
)

Kita juga dapat menghapus salah satu elemen pada associative array. Mirip seperti cara penghapusan elemen pada numeric array, hanya saja kita perlu menghapus elemen berdasarkan key elemen tersebut. Berikut contoh penerapannya.

<?php
  $trialBook = [
    'Title' => 'Harry Potter Part 1',
    'Author' => 'J.K. Rowling',
    'Year' => '2001',
    'Publisher' => 'Bloomsburry Publishing',
  ];

  // Menghapus elemen dengan key 'Publisher'
  unset($trialBook['Publisher']);

  print_r($trialBook);
?>
Array
(
    [Title] => Harry Potter Part 1
    [Author] => J.K. Rowling
    [Year] => 2001
)

Destructing Array

Destructing array merupakan proses mengambil nilai elemen tertentu pada sebuah array dan memasukkan nilai tersebut pada variabel yang kita inginkan. Jenis array yang berbeda memiliki cara destructing yang berbeda. Berikut masing-masing cara destructing array.

Numeric Array

Pada numeric array, kita dapat melakukan destructing dengan membentuk array dari variabel-variabel penampung nilai, kemudian menginisialisasi array variabel tersebut dengan array yang akan di-destruct. Mari kita perhatikan contoh penerapannya.

<?php
  $fruits = ['Apel', 'Pisang', 'Jeruk', 'Mangga', 'Kiwi'];

  // Destructing elemen pertama dan kedua dari array $fruits
  [$fruit1, $fruit2] = $fruits;

  echo 'Buahku yang pertama: ' . $fruit1;
  # Output: Buahku yang pertama: Apel
  echo 'Buahku yang kedua: ' . $fruit2;
  # Output: Buahku yang kedua: Pisang

  // Kita dapat melewatkan beberapa elemen sebelumnya dengan tidak menuliskan nama variabel
  [, , $fruit3, , $fruit5] = $fruits;

  echo 'Buahku yang ketiga: ' . $fruit3;
  # Output: Buahku yang ketiga: Jeruk
  echo 'Buahku yang kelima: ' . $fruit5;
  # Output: Buahku yang kelima: Kiwi
?>

Kita juga dapat melakukan destructing pada elemen tertentu dengan menerapkan indeks dan tanda => pada variabel penampung nilai. Berikut contoh penerapannya.

<?php
  $fruits = ['Apel', 'Pisang', 'Jeruk', 'Mangga', 'Kiwi'];

  [0 => $fruitOne, 3 => $fruitFour] = $fruits;

  echo 'Buahku yang pertama: ' . $fruitOne;
  # Output: Buahku yang pertama: Apel
  echo 'Buahku yang keempat: ' . $fruitFour;
  # Output: Buahku yang keempat: Mangga
?>

Associative Array

Pada associative array, kita dapat melakukan destructing dengan menggunakan key elemen yang ingin di-destruct dan tanda => pada variabel penampung nilai. Mari kita perhatikan penerapannya pada kode berikut.

<?php
  $bookDetails = [
    'Title' => 'Harry Potter Part 1',
    'Author' => 'J.K. Rowling',
    'Year' => '2001',
  ];
  
  // Destructing elemen dengan key 'Title' dan 'Author'
  ['Title' => $title, 'Author' => $author] = $bookDetails;

  echo 'Judul: ' . $title;
  # Output: Judul: Harry Potter Part 1
  echo 'Pengarang: ' . $author;
  # Output: Pengarang: J.K. Rowling
?>

array_fill() & range()

array_fill() merupakan salah satu built-in function yang berfungsi untuk memasukkan nilai yang sama untuk setiap indeks pada array.

Sintaks array_fill()

<?php
  array_fill($start_index, $amount, $value);
?>
  • $start_index merupakan parameter yang memuat nilai integer dan berfungsi menentukan posisi awal indeks pengisian nilai elemen. Jika $start_index bernilai negatif, array akan memuat indeks negatif sekali dan dilanjutkan dari indeks [0] sebanyak sisa banyak pengisian.
  • $amount merupakan parameter yang memuat nilai integer dan berfungsi menentukan banyak pengisian nilai elemen yang diinginkan.
  • $value merupakan parameter yang berfungsi menentukan nilai yang diisi pada elemen-elemen.

Mari kita lihat contoh penerapan fungsi array_fill().

<?php
  $greets = array_fill(2, 6, 'hello');
  $tens = array_fill(-12, 4, 10);

  print_r($greets);
  print_r($tens);
?>
Array
(
    [2] => hello
    [3] => hello
    [4] => hello
    [5] => hello
    [6] => hello
    [7] => hello
)

Array
(
    [-12] => 10
    [0] => 10
    [1] => 10
    [2] => 10
)

Berbeda dengan array_fill(), fungsi range() akan mengisi elemen array dengan rentang nilai tertentu dimulai dari indeks [0].

Sintaks range()

<?php
  range($start, $end, $step);
?>
  • $start diinisialisasi sebagai elemen pertama yang memuat nilai rentang awal.
  • $end berfungsi untuk menentukan batas nilai akhir, dapat juga kita anggap sebagai syarat agar penaikan/penurunan nilai tetap berlanjut.
  • $step merupakan parameter opsional yang berfungsi menentukan nilai interval antarbilangan dan hanya dapat memuat tipe data angka. Secara default, parameter ini bernilai 1.

Berikut contoh penerapan fungsi range().

<?php
  $numbers = range(-3, 2);
  $numbersStep70 = range(-10, 300, 70);

  print_r($numbers);
  print_r($numbersStep70);
?>
Array
(
    [0] => -3
    [1] => -2
    [2] => -1
    [3] => 0
    [4] => 1
    [5] => 2
)

Array
(
    [0] => -10
    [1] => 60
    [2] => 130
    [3] => 200
    [4] => 270
)

Kesimpulannya, array_fill() mengisi array dengan nilai yang sama pada elemen dengan jumlah yang diinginkan, sedangkan range() mengisi array dengan nilai-nilai yang berada dalam jangkauan tertentu.

array_key_exists() & key_exists()

array_key_exists() merupakan built-in function yang berfungsi untuk memeriksa keberadaan key tertentu pada sebuah array. Jika ada, dikembalikan nilai true. Sebaliknya, dikembalikan nilai false.

Sintaks array_key_exists()

<?php
  array_key_exists($key, $array);
?>
  • $key memuat nilai berupa key yang akan dicari.
  • $array memuat nilai berupa array yang akan dicari keberadaan key-nya.

Mari kita perhatikan contoh berikut.

<?php
  $subjects = [
    'vii' => 'Biology',
    'viii' => 'Physics',
    'ix' => 'Chemistry',
    'x' => null,
  ];

  var_dump(array_key_exists('viii', $subjects));  # Output: bool(true)
  var_dump(array_key_exists('x', $subjects));     # Output: bool(true)
  var_dump(array_key_exists('xi', $subjects));    # Output: bool(false)
?>

Fungsi key_exists() akan memeriksa keberadaan key tertentu pada array. Fungsi ini merupakan alias dari array_key_exists(). Mari kita perhatikan contoh penerapan fungsi key_exists().

<?php
  $competitions = [
    'primary' => 'Mathematics',
    'junior high' => 'Mathematics & Physics',
    'senior high' => 'Physics & Chemistry',
  ];

  var_dump(key_exists('senior high', $competitions));   # Output: bool(true)
  var_dump(key_exists('senior', $competitions));        # Output: bool(false)
?>

in_array()

Fungsi in_array() merupakan built-in function PHP yang berfungsi memeriksa keberadaan value elemen pada sebuah array. Jika ada, kembalian berupa true. Sebaliknya, kembalian berupa false.

Sintaks in_array()

<?php
  in_array($needle, $haystack, $strict);
?>
  • $needle memuat value elemen yang akan diperiksa.
  • $haystack memuat array yang akan diperiksa value-nya.
  • $strict merupakan parameter opsional yang menerima boolean dan berfungsi untuk menentukan ketatnya pemeriksaan tipe data dan sifat case-sensitive. Secara default, parameter ini bernilai false.

Mari kita perhatikan contoh penerapan fungsi ini.

<?php
  $random = ["Hai", "Hey", "Hello", true, 23];


  var_dump(in_array(true, $random));              # Output: bool(true)
  
  var_dump(in_array('23', $random));              # Output: bool(true)
  var_dump(in_array('23', $random, true));        # Output: bool(false)

  var_dump(in_array('hai', $random));             # Output: bool(true)
  var_dump(in_array('hai', $random, true));       # Output: bool(false)
?>

is_array()

Fungsi is_array() digunakan untuk mengevaluasi suatu variabel bertipe data array atau tidak. Jika iya, dikembalikan nilai true. Sebaliknya, dikembalikan false. Mari kita perhatikan contoh penerapan fungsi ini.

<?php
  $word = "Hello";
  $number = 3.2;
  $array = [];
  $someWords = ['We', 'are', 'informatikans'];

  var_dump(is_array($word));            # Output: bool(false)
  var_dump(is_array($number));          # Output: bool(false)
  var_dump(is_array($array));           # Output: bool(true)
  var_dump(is_array($someWords));       # Output: bool(true)
?>

compact()

compact() berfungsi untuk menggabungkan beberapa variabel menjadi sebuah array. Nama variabel akan menjadi key dan nilai variabel menjadi value dari elemen-elemen array. Fungsi ini memuat parameter berupa nama-nama variabel dalam bentuk string atau array string. Mari kita perhatikan contoh penerapannya.

<?php
  $ID = "Indonesia"; 
  $KOR = "Korea"; 
  $MY = "Malaysia";
  $SG = "Singapore";
  $keyArray = ["KOR", "MY", "SG"];

  print_r(compact("ID", "KOR", "MY"));
  print_r(compact($keyArray));
  print_r(compact("ID", $keyArray));
?> 
Array
(
    [ID] => Indonesia
    [KOR] => Korea
    [MY] => Malaysia
)

Array
(
    [KOR] => Korea
    [MY] => Malaysia
    [SG] => Singapore
)

Array
(
    [ID] => Indonesia
    [KOR] => Korea
    [MY] => Malaysia
    [SG] => Singapore
)

array_column()

Fungsi array_column() merupakan built-in function PHP yang mengembalikan array baru berupa value elemen-elemen kolom tertentu sebuah multi-dimensional array.

Sintaks array_column()

<?php
  array_column($multiDimensional_array, $column_key, $index_key);
?>
  • $multiDimensional_array memuat multi-dimensional array yang akan ditelusuri.
  • $column_key memuat nama key atau kolom yang value elemennya akan dimuat ke array hasil.
  • $index_key merupakan parameter opsional yang menentukan key dari masing-masing elemen dalam array hasil. Secara default, parameter ini bernilai null sehingga hasil array merupakan numeric array. Ketika $index_key diisi, key elemen-elemen array hasil merupakan value elemen-elemen pada kolom $index_key dari multi-dimensional array.

Mari kita lihat contoh penerapannya pada kode berikut.

<?php
  $scholars = [
    [
      'id' => 1980001,
      'first_name' => 'Budi',
      'last_name' => 'Santoso',
    ],
    [
      'id' => 1980002,
      'first_name' => 'Rudy',
      'last_name' => 'Kennedy',
    ],
    [
      'id' => 1980003,
      'first_name' => 'Kendy',
      'last_name' => 'Augus',
    ],
  ];

  // Tanpa $index_key
  print_r(array_column($scholars, 'id'));
  print_r(array_column($scholars, 'first_name'));

  // $index_key berupa nilai elemen-elemen menurut kolom 'id' 
  print_r(array_column($scholars, 'first_name', 'id'));
?>
Array
(
    [0] => 1980001
    [1] => 1980002
    [2] => 1980003
)

Array
(
    [0] => Budi
    [1] => Rudy
    [2] => Kendy
)

Array
(
    [1980001] => Budi
    [1980002] => Rudy
    [1980003] => Kendy
)

array_search()

array_search() berfungsi mencari value sebuah elemen pada array dan mengembalikan key elemen tersebut. Fungsi ini dapat mengembalikan nilai berupa integer dan string, bahkan false jika pencarian tidak berhasil.

Sintaks array_search()

<?php
  array_search($needle, $haystack, $strict);
?>
  • $needle memuat value dari elemen yang akan dicari.
  • $haystack memuat array yang akan dicari value-nya.
  • $strict merupakan parameter opsional yang hanya dapat menerima boolean dan berfungsi menentukan ketatnya pencarian elemen menurut tipe data. Secara default, parameter ini bernilai false.

Jika dalam pencarian terdapat hasil (key) lebih dari satu, key pertama yang akan dikembalikan.
Pencarian bersifat case-sensitive.

Mari kita perhatikan contoh kode berikut.

<?php
  $bookDetails = [
    'Title' => 'The Outsiders',
    'Author' => 'S.E. Hinton',
    'Year' => '1967',
    'Publisher' => 'Viking Press',
  ];

  var_dump(array_search('The Outsiders', $bookDetails));
  # Output: string(5) "Title"

  var_dump(array_search('Outsiders', $bookDetails));
  # Output: bool(false)

  var_dump(array_search('S.E. Hinton', $bookDetails));
  # Output: string(6) "Author"
  
  var_dump(array_search('s.e. hinton', $bookDetails));
  # Output: bool(false)

  var_dump(array_search(1967, $bookDetails));
  # Output: string(4) "Year"

  var_dump(array_search(1967, $bookDetails, true));
  # Output: bool(false)
?>

Kita juga dapat melakukan pencarian pada multi-dimensional array dengan memanfaatkan array_column() dan array_search(). Berikut contoh penerapannya.

<?php
  $scholars = [
    [
      'id' => 1980001,
      'first_name' => 'Budi',
      'last_name' => 'Santoso',
    ],
    [
      'id' => 1980002,
      'first_name' => 'Rudy',
      'last_name' => 'Kennedy',
    ],
    [
      'id' => 1980003,
      'first_name' => 'Kendy',
      'last_name' => 'Augus',
    ],
  ];

  // Mencari 'Rudy' pada 'first_name'
  var_dump(array_search('Rudy', array_column($scholars, 'first_name')));
  # Output: int(1)
  // 'Rudy' ditemukan pada 'first_name' elemen indeks ke-1

  // Mencari 'Agguusss' pada 'last_name'
  var_dump(array_search('Agguusss', array_column($scholars, 'last_name')));
  # Output: bool(false)
  // 'Agguusss' HILANGG!!!
?>
PHP

PHP #16 - Array (Bag. II)

PHP #14 - Bekerja dengan String (Bag. III)

comments powered by Disqus