Array_filter Php Key Value

4 min read Jun 23, 2024
Array_filter Php Key Value

Memahami Array_Filter dengan Kunci dan Nilai di PHP

Fungsi array_filter() di PHP memungkinkan Anda untuk menyaring elemen-elemen dari sebuah array berdasarkan kondisi tertentu. Dalam tutorial ini, kita akan menjelajahi bagaimana menggunakan array_filter() dengan kunci dan nilai dalam array Anda.

Dasar Penggunaan array_filter()

Fungsi array_filter() memiliki dua parameter utama:

  • $array: Array yang ingin Anda filter.
  • $callback: Fungsi callback yang digunakan untuk menguji setiap elemen array. Fungsi callback harus menerima satu parameter (elemen array), dan mengembalikan true jika elemen tersebut ingin dipertahankan, atau false jika elemen tersebut ingin dibuang.

Contoh:


Kode di atas akan mencetak:

Array
(
    [1] => 2
    [3] => 4
    [5] => 6
    [7] => 8
    [9] => 10
)

Menerapkan Kondisi pada Kunci dan Nilai

Dalam beberapa kasus, Anda mungkin ingin menyaring berdasarkan kondisi yang melibatkan baik kunci maupun nilai dari elemen array. Untuk mencapai ini, Anda dapat memanfaatkan fungsi callback yang mengakses kedua elemen tersebut.

Contoh:

 'John Doe',
    'age' => 30,
    'city' => 'New York',
    'country' => 'USA'
];

$filteredData = array_filter($data, function($value, $key) {
    return $key !== 'age' && $value !== 'USA';
});

print_r($filteredData);
?>

Kode di atas akan mencetak:

Array
(
    [name] => John Doe
    [city] => New York
)

Dalam contoh ini, fungsi callback memeriksa apakah kunci bukan 'age' dan nilai bukan 'USA'. Hanya elemen yang memenuhi kedua kondisi tersebut yang akan dipertahankan dalam hasil array_filter().

Memperhatikan Kunci Array

Fungsi array_filter() mempertahankan kunci asli dari elemen yang di filter. Jika Anda ingin menyingkirkan kunci asli, Anda dapat menggunakan fungsi array_values() setelah menggunakan array_filter().

Contoh:

 'John Doe',
    'age' => 30,
    'city' => 'New York',
    'country' => 'USA'
];

$filteredData = array_values(array_filter($data, function($value, $key) {
    return $key !== 'age' && $value !== 'USA';
}));

print_r($filteredData);
?>

Kode di atas akan mencetak:

Array
(
    [0] => John Doe
    [1] => New York
)

Dalam contoh ini, array_values() diterapkan setelah array_filter(), sehingga kunci asli dari array hasil filter dihapus.

Kesimpulan

array_filter() adalah fungsi yang sangat serbaguna yang memungkinkan Anda untuk menyaring array berdasarkan kondisi yang Anda tentukan. Dengan menggunakan fungsi callback, Anda dapat menetapkan kondisi yang melibatkan baik kunci maupun nilai dalam array, memberikan Anda kontrol yang tepat atas data yang Anda pertahankan dalam hasil filter.

Related Post


Latest Posts