Cara menggunakan what is array_filter php?

Dalam tutorial ini, saya akan membuat daftar fungsi umum array PHP dengan contoh-contoh penggunaan dan praktek terbaik. Setiap pengembang PHP harus tahu bagaimana menggunakannya dan bagaimana menggabungkan fungsi array agar kode mudah dibaca dan singkat.

Juga, ada presentasi dengan contoh kode yang diberikan, sehingga Anda dapat men-downloadnya dari link yang berhubungan dan menunjukkannya kepada kolega Anda untuk membangun tim yang lebih kuat.

Dasar-Dasar

Mari kita mulai dengan fungsi dasar yang bekerja dengan kunci dan nilai array. Salah satu dari mereka adalah array_combine(), yang menciptakan sebuah array menggunakan satu array untuk kunci dan satu lagi untuk nilai-nilai:

1
$keys = ['sky', 'grass', 'orange'];
2
$values = ['blue', 'green', 'orange'];
3
4
$array = array_combine($keys, $values);
5
print_r($array);
6
$keys = ['sky', 'grass', 'orange'];
0
$keys = ['sky', 'grass', 'orange'];
1
$keys = ['sky', 'grass', 'orange'];
2
$keys = ['sky', 'grass', 'orange'];
3
$keys = ['sky', 'grass', 'orange'];
4
$keys = ['sky', 'grass', 'orange'];
5
$keys = ['sky', 'grass', 'orange'];
6
$keys = ['sky', 'grass', 'orange'];
7
$keys = ['sky', 'grass', 'orange'];
8
$keys = ['sky', 'grass', 'orange'];
9
2
0
2
1

Anda harus tahu, bahwa fungsi array_values() mengembalikan array dari nilai yang diindeks, array_keys() mengembalikan array dari kunci array yang diberikan, dan array_flip() menukar kunci dengan nilai-nilai:

1
2
3
2
2
5
3
2
7
4
5
$keys = ['sky', 'grass', 'orange'];
1
6
$keys = ['sky', 'grass', 'orange'];
3
$keys = ['sky', 'grass', 'orange'];
0
$values = ['blue', 'green', 'orange'];
4
$keys = ['sky', 'grass', 'orange'];
2
$values = ['blue', 'green', 'orange'];
6
$keys = ['sky', 'grass', 'orange'];
4
$keys = ['sky', 'grass', 'orange'];
9
$keys = ['sky', 'grass', 'orange'];
6
3
0

Membuat Kode Anda Lebih Pendek

Fungsi list(), yang tidak benar-benar sebuah fungsi, tetapi bahasa konstruksi, dirancang untuk menetapkan variabel dengan cara singkat. Sebagai contoh, berikut ini adalah contoh dasar menggunakan fungsi 

3
09:

1
3
2
2
3
4
3
4
3
7
5
3
9
6
4
1
$keys = ['sky', 'grass', 'orange'];
0
4
3
$keys = ['sky', 'grass', 'orange'];
2
$keys = ['sky', 'grass', 'orange'];
4
4
6
$keys = ['sky', 'grass', 'orange'];
6
4
8

Konstruksi ini bekerja sempurna dengan fungsi seperti 

3
10 atau 
3
11. Juga, Anda dapat melewatkan beberapa parameter, jika Anda tidak membutuhkan mereka untuk didefinisikan:

1
$array = array_combine($keys, $values);
0
2
$array = array_combine($keys, $values);
2
3
$array = array_combine($keys, $values);
4

Juga, 

3
09 dapat digunakan dengan 
3
13, yang membuat konstruksi ini bahkan lebih baik:

1
$array = array_combine($keys, $values);
6
2
3
$array = array_combine($keys, $values);
9
4
5
1
5
5
3
6
5
5

Dengan fungsi extract(), Anda dapat mengekspor asosiatif array ke variabel. Untuk setiap elemen dari sebuah array, suatu variabel akan dibuat dengan nama kunci dan nilai sebagai nilai elemen:

1
5
7
2
5
9
3
print_r($array);
1
4
print_r($array);
3
5
print_r($array);
5
6
$keys = ['sky', 'grass', 'orange'];
0
print_r($array);
8
$keys = ['sky', 'grass', 'orange'];
2
$keys = ['sky', 'grass', 'orange'];
4
6
1

Sadarilah bahwa 

3
14 tidak aman jika Anda bekerja dengan data pengguna (seperti hasil dari permintaan), jadi sebaiknya gunakan fungsi ini dengan flag 
3
15 dan 
3
16.

Kebalikan dari fungsi sebelumnya adalah fungsi compact(), yang membuat array asosiatif dari variabel:

1
6
3
2
6
5
3
6
7
4
5
$keys = ['sky', 'grass', 'orange'];
00
6
print_r($array);
$keys = ['sky', 'grass', 'orange'];
0
$keys = ['sky', 'grass', 'orange'];
2
$keys = ['sky', 'grass', 'orange'];
1
$keys = ['sky', 'grass', 'orange'];
4
$keys = ['sky', 'grass', 'orange'];
3
$keys = ['sky', 'grass', 'orange'];
6
$keys = ['sky', 'grass', 'orange'];
09
$keys = ['sky', 'grass', 'orange'];
8
$keys = ['sky', 'grass', 'orange'];
11
2
0
$keys = ['sky', 'grass', 'orange'];
13
$keys = ['sky', 'grass', 'orange'];
14
3
0

Fungsi Penyaringan

Ada fungsi yang hebat bagi penyaringan array, dan itu disebut array_filter(). Menyampaikan array sebagai parameter pertama dan fungsi anonim sebagai parameter kedua. Mengembalikan 

3
17 di sebuah fungsi callback jika Anda ingin meninggalkan elemen ini dalam array, dan 
3
18 jika tidak:

1
$keys = ['sky', 'grass', 'orange'];
17
2
3
$keys = ['sky', 'grass', 'orange'];
20
4
$keys = ['sky', 'grass', 'orange'];
22
5
$keys = ['sky', 'grass', 'orange'];
24
6
$keys = ['sky', 'grass', 'orange'];
0
$keys = ['sky', 'grass', 'orange'];
27

Ada cara untuk menyaring tidak hanya oleh nilai-nilai. Anda dapat menggunakan 

3
19 atau 
3
20 sebagai parameter ketiga untuk menyampaikan kunci atau semua nilai dan kunci ke fungsi callback.

Juga, Anda dapat memanggil 

3
21 tanpa callback untuk menghapus semua nilai kosong:

1
$keys = ['sky', 'grass', 'orange'];
29
2
3
$keys = ['sky', 'grass', 'orange'];
32
4
5
$keys = ['sky', 'grass', 'orange'];
35

Anda hanya bisa mendapatkan nilai-nilai unik dari array menggunakan fungsi array_unique(). Perhatikan bahwa fungsi ini akan menjaga kunci-kunci dari unsur-unsur unik pertama:

1
$keys = ['sky', 'grass', 'orange'];
37
2
$keys = ['sky', 'grass', 'orange'];
39
3
4
$keys = ['sky', 'grass', 'orange'];
42
5
6
$keys = ['sky', 'grass', 'orange'];
1
$keys = ['sky', 'grass', 'orange'];
0
$keys = ['sky', 'grass', 'orange'];
3
$keys = ['sky', 'grass', 'orange'];
2
$keys = ['sky', 'grass', 'orange'];
49
$keys = ['sky', 'grass', 'orange'];
4
$keys = ['sky', 'grass', 'orange'];
51
$keys = ['sky', 'grass', 'orange'];
6
$keys = ['sky', 'grass', 'orange'];
53
$keys = ['sky', 'grass', 'orange'];
8
$keys = ['sky', 'grass', 'orange'];
55
2
0
$keys = ['sky', 'grass', 'orange'];
57
$keys = ['sky', 'grass', 'orange'];
14
2
1

Dengan array_column(), Anda bisa mendapatkan daftar nilai kolom dari sebuah array multi-dimensi, seperti jawaban dari database SQL atau impor dari file CSV. Cukup menyampaikan array dan nama kolom:

1
5
7
2
$keys = ['sky', 'grass', 'orange'];
63
3
$keys = ['sky', 'grass', 'orange'];
65
4
$keys = ['sky', 'grass', 'orange'];
67
5
print_r($array);
5
6
$keys = ['sky', 'grass', 'orange'];
0
$keys = ['sky', 'grass', 'orange'];
72
$keys = ['sky', 'grass', 'orange'];
2
$keys = ['sky', 'grass', 'orange'];
4
$keys = ['sky', 'grass', 'orange'];
75

Mulai dari PHP 7, 

3
22 menjadi lebih kuat, karena sekarang diizinkan untuk . Jadi bekerja dengan berbagai model dapat menjadi lebih mudah:

1
$keys = ['sky', 'grass', 'orange'];
77
2
$keys = ['sky', 'grass', 'orange'];
79

Berjalan Melalui Array

Menggunakan array_map(), Anda dapat menerapkan callback untuk setiap elemen dari sebuah array. Anda dapat menyampaikan nama fungsi atau fungsi anonim untuk mendapatkan sebuah array baru berdasarkan pada array yang diberikan:

1
$keys = ['sky', 'grass', 'orange'];
81
2
$keys = ['sky', 'grass', 'orange'];
83
3
4
$keys = ['sky', 'grass', 'orange'];
86
5
6
$keys = ['sky', 'grass', 'orange'];
89
$keys = ['sky', 'grass', 'orange'];
0
$keys = ['sky', 'grass', 'orange'];
91
$keys = ['sky', 'grass', 'orange'];
2
$keys = ['sky', 'grass', 'orange'];
93
$keys = ['sky', 'grass', 'orange'];
4
$keys = ['sky', 'grass', 'orange'];
95
$keys = ['sky', 'grass', 'orange'];
6
$keys = ['sky', 'grass', 'orange'];
8
$keys = ['sky', 'grass', 'orange'];
98

Ada mitos bahwa tidak ada cara untuk menyampaikan nilai-nilai dan kunci dari array ke callback, tapi kita bisa memecahkannya:

1
2
00
2
3
2
03
4
2
05
5
2
07
6
$keys = ['sky', 'grass', 'orange'];
0
2
10
$keys = ['sky', 'grass', 'orange'];
2
2
12
$keys = ['sky', 'grass', 'orange'];
4
$keys = ['sky', 'grass', 'orange'];
6
$keys = ['sky', 'grass', 'orange'];
1
$keys = ['sky', 'grass', 'orange'];
8
$keys = ['sky', 'grass', 'orange'];
3
2
0
2
19
$keys = ['sky', 'grass', 'orange'];
14
2
21
2
22
3
0

Tapi ini terlihat kotor. Sebaliknnya lebih baik untuk menggunakan array_walk(). Fungsi ini terlihat sama seperti 

3
23, tetapi bekerja berbeda. Pertama-tama, sebuah array dilewatkan oleh referensi, sehingga 
3
24 tidak membuat array baru, tetapi mengubah array yang diberikan. Jadi sebagai array sumber, Anda dapat melewatkan nilai array dengan referensi dalam callback. Kunci array dapat juga dilewatkan dengan mudah:

1
2
25
2
2
27
3
2
29
4
2
31
5
print_r($array);
5
6
$keys = ['sky', 'grass', 'orange'];
0
2
36
$keys = ['sky', 'grass', 'orange'];
2
2
38
$keys = ['sky', 'grass', 'orange'];
4
$keys = ['sky', 'grass', 'orange'];
24
$keys = ['sky', 'grass', 'orange'];
6
$keys = ['sky', 'grass', 'orange'];
8
2
43
2
0
$keys = ['sky', 'grass', 'orange'];
14
$keys = ['sky', 'grass', 'orange'];
1
2
22
$keys = ['sky', 'grass', 'orange'];
3
2
49
2
50
2
51
2
52
2
53
2
54
2
55
3
0

Menggabungkan Array

Cara terbaik untuk menggabungkan dua atau lebih array dalam PHP adalah dengan menggunakan fungsi array_merge(). Item dari array-array akan digabungkan bersama-sama, dan nilai-nilai yang sama dengan string kunci akan ditimpa dengan nilai terakhir:

1
2
58
2
2
60
3
4
2
63
5
2
65
6
$keys = ['sky', 'grass', 'orange'];
1
$keys = ['sky', 'grass', 'orange'];
0
$keys = ['sky', 'grass', 'orange'];
3
$keys = ['sky', 'grass', 'orange'];
2
2
71
$keys = ['sky', 'grass', 'orange'];
4
2
73
$keys = ['sky', 'grass', 'orange'];
6
2
75
$keys = ['sky', 'grass', 'orange'];
8
2
77
2
0
2
1

Untuk menghapus nilai array dari array lain (atau array-array), gunakan array_diff(). Untuk mendapatkan nilai-nilai yang hadir dalam array yang diberikan, gunakan array_intersect(). Contoh berikutnya akan menunjukkan cara kerjanya:

1
2
81
2
2
83
3
4
2
86
5
2
88
6
$keys = ['sky', 'grass', 'orange'];
0
2
91
$keys = ['sky', 'grass', 'orange'];
2
2
93

Melakukan Perhitugan dengan Nilai-nilai Array

Gunakan array_sum() untuk mendapatkan jumlah nilai array, array_product() untuk melipatgandakan mereka, atau membuat rumus Anda sendiri dengan array_reduce():

1
2
95
2
3
2
98
4
$values = ['blue', 'green', 'orange'];
00
5
6
$values = ['blue', 'green', 'orange'];
03
$keys = ['sky', 'grass', 'orange'];
0
$values = ['blue', 'green', 'orange'];
05
$keys = ['sky', 'grass', 'orange'];
2
$values = ['blue', 'green', 'orange'];
07

Untuk menghitung semua nilai dari array, gunakan array_count_values(). Itu akan memberikan semua nilai-nilai unik dari array yang diberikan sebagai kunci dan menghitung nilai-nilai tersebut sebagai nilai:

1
$values = ['blue', 'green', 'orange'];
09
2
$values = ['blue', 'green', 'orange'];
11
3
4
$values = ['blue', 'green', 'orange'];
14
5
6
$keys = ['sky', 'grass', 'orange'];
1
$keys = ['sky', 'grass', 'orange'];
0
$keys = ['sky', 'grass', 'orange'];
3
$keys = ['sky', 'grass', 'orange'];
2
$values = ['blue', 'green', 'orange'];
21
$keys = ['sky', 'grass', 'orange'];
4
$values = ['blue', 'green', 'orange'];
23
$keys = ['sky', 'grass', 'orange'];
6
$values = ['blue', 'green', 'orange'];
25
$keys = ['sky', 'grass', 'orange'];
8
3
0

Menghasilkan Array

Untuk menghasilkan sebuah array dengan ukuran tertentu dan nilai yang sama, gunakan array_fill():

1
$values = ['blue', 'green', 'orange'];
29
2
$values = ['blue', 'green', 'orange'];
31

Untuk menghasilkan sebuah array dengan berbagai kunci dan nilai-nilai, seperti hari jam atau huruf, gunakan range():

1
$values = ['blue', 'green', 'orange'];
33
2
$values = ['blue', 'green', 'orange'];
35
3
4
$values = ['blue', 'green', 'orange'];
38
5
$values = ['blue', 'green', 'orange'];
40

Untuk mendapatkan bagian dari array—misalnya, hanya tiga unsur pertama—gunakan array_slice():

1
$values = ['blue', 'green', 'orange'];
42
2
$values = ['blue', 'green', 'orange'];
44
3
$values = ['blue', 'green', 'orange'];
46

Penyortiran Array

Ada baiknya untuk diingat bahwa setiap fungsi penyortiran di PHP bekerja dengan array dengan referensi dan mengembalikan true pada keberhasilan atau false pada kegagalan. Ada fungsi penyortiran dasar yang disebut sort(), dan ia menyortir nilai dalam urutan menaik tanpa mengamankan kunci. Fungsi penyortiran dapat didahului oleh huruf-huruf berikut:

  • a, menyortir mengamankan kunci
  • k, menyortir berdasarkan kunci
  • r, menyortir terbalik/urutan menurun
  • u, menyortir dengan fungsi user

Anda dapat melihat kombinasi dari huruf-huruf ini di dalam tabel berikut:

akruaasort
arsortuasortkksortkrsortrarsortkrsortrsortuuasort
usort

Menggabungkan Fungsi Array Seperti Boss

Sihir yang nyata dimulai ketika Anda mulai menggabungkan fungsi-fungsi array. Berikut adalah bagaimana Anda dapat memotong dan memindahkan nilai-nilai kosong hanya dalam satu baris kode dengan 

3
21 dan 
3
23:

1
$values = ['blue', 'green', 'orange'];
48
2
3
$values = ['blue', 'green', 'orange'];
51
4
$values = ['blue', 'green', 'orange'];
53

Untuk membuat id ke judul peta dari array model, kita bisa menggunakan kombinasi dari 

3
27 dan 
3
22:

1
$values = ['blue', 'green', 'orange'];
55
2
3
$values = ['blue', 'green', 'orange'];
58
4
$values = ['blue', 'green', 'orange'];
60
5
$values = ['blue', 'green', 'orange'];
62
6
$values = ['blue', 'green', 'orange'];
64

Untuk mendapatkan tiga nilai-nilai teratas dari sebuah array, kita dapat menggunakan 

3
29, 
3
30, dan 
3
31:

1
$values = ['blue', 'green', 'orange'];
66
2
3
$values = ['blue', 'green', 'orange'];
69
4
$values = ['blue', 'green', 'orange'];
71
5
$values = ['blue', 'green', 'orange'];
73
6
$keys = ['sky', 'grass', 'orange'];
0
$values = ['blue', 'green', 'orange'];
76
$keys = ['sky', 'grass', 'orange'];
2
$keys = ['sky', 'grass', 'orange'];
1
$keys = ['sky', 'grass', 'orange'];
4
$keys = ['sky', 'grass', 'orange'];
3
$keys = ['sky', 'grass', 'orange'];
6
$values = ['blue', 'green', 'orange'];
82
$keys = ['sky', 'grass', 'orange'];
8
$values = ['blue', 'green', 'orange'];
84
2
0
$values = ['blue', 'green', 'orange'];
86
$keys = ['sky', 'grass', 'orange'];
14
3
0

Ini mudah untuk menggunakan 

3
32 dan 
3
23 untuk menghitung jumlah pesanan dalam beberapa baris:

1
$values = ['blue', 'green', 'orange'];
90
2
$values = ['blue', 'green', 'orange'];
92
3
$values = ['blue', 'green', 'orange'];
94
4
$values = ['blue', 'green', 'orange'];
96
5
print_r($array);
5
6
$keys = ['sky', 'grass', 'orange'];
0
3
01
$keys = ['sky', 'grass', 'orange'];
2
3
03
$keys = ['sky', 'grass', 'orange'];
4
3
05
$keys = ['sky', 'grass', 'orange'];
6
$keys = ['sky', 'grass', 'orange'];
8
3
08

Kesimpulan

Seperti yang Anda lihat, pengetahuan fungsi-fungsi utama array dapat membuat kode Anda jauh lebih pendek dan lebih mudah dibaca. Tentu saja, PHP memiliki lebih banyak fungsi array, dan bahkan fungsi yang diberikan memiliki banyak variasi untuk digunakan dengan parameter dan flag tambahan, tapi saya berpikir bahwa dalam tutorial ini kita telah membahas dasar-dasar yang setiap pengembang PHP harus mengetahuinya.

Harap dicatat bahwa saya telah membuat sebuah presentasi dengan contoh yang diberikan, sehingga Anda dapat men-download-nya dari link terkait dan menunjukkannya kepada tim Anda.

Apa yang dimaksud dengan array dalam php?

Apa itu Array? Dalam PHP, array adalah struktur data yang memungkinkan anda untuk menyimpan beberapa elemen dalam satu variabel. Elemen-elemen ini disimpan sebagai pasangan nilai-kunci.

Apa itu multidimensional array?

Multi-dimensional Array adalah array yang menyimpan array lain pada setiap indeks, bukan elemen tunggal. Dengan kata lain, kita dapat mendefinisikan array multi dimensi sebagai array dari suatu array.

Apa yang dimaksud dengan array asosiatif?

Array asosiatif merupakan array yang berisi key dan value . Key dalam array ini bertindak sebagai indeks. Bedanya, jika pada array terindeks default indeksnya adalah angka dan tidak dapat diubah tipenya. Maka pada array asosiatif, indeks atau key ini bisa kita atur menggunakan tipe data lain seperti string.