Mengurutkan dan Mencari Array
Menggunakan sort, usort, array_search, dan in_array.
Mengurutkan dan Mencari Array adalah pelajaran PHP Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar PHP Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus PHP Academy mencakup 4 pelajaran total.
Mengapa Mengurutkan?
PHP menyediakan beragam fungsi pengurutan dan pencarian untuk larik. Pilih fungsi yang tepat berdasarkan apakah Anda ingin mempertahankan kunci, mengurutkan berdasarkan nilai atau kunci, atau menggunakan pembanding khusus.
sort() dan rsort()
sort() mengurutkan berdasarkan nilai secara menaik (mengindeks ulang); rsort() mengurutkan secara menurun:
<?php
$nums = [3, 1, 4, 1, 5, 9, 2, 6];
sort($nums);
print_r($nums); // [1, 1, 2, 3, 4, 5, 6, 9]
$letters = ['c', 'a', 'b'];
rsort($letters);
print_r($letters); // ['c', 'b', 'a']asort() dan arsort()
asort() mengurutkan berdasarkan nilai tetapi mempertahankan kunci — berguna untuk larik asosiatif:
<?php
$scores = ['Alice' => 85, 'Bob' => 92, 'Carol' => 78];
asort($scores);
print_r($scores);
// ['Carol'=>78, 'Alice'=>85, 'Bob'=>92]ksort() dan krsort()
ksort() mengurutkan kunci secara menaik; krsort() secara menurun:
<?php
$data = ['banana' => 2, 'apple' => 5, 'cherry' => 1];
ksort($data);
print_r($data);
// ['apple'=>5, 'banana'=>2, 'cherry'=>1]usort() — Pembanding Khusus
usort() mengurutkan dengan fungsi perbandingan yang ditentukan pengguna:
<?php
$people = [
['name' => 'Charlie', 'age' => 25],
['name' => 'Alice', 'age' => 30],
['name' => 'Bob', 'age' => 20],
];
usort($people, fn($a, $b) => $a['age'] <=> $b['age']);
foreach ($people as $p) echo $p['name'] . ' '; // Bob Charlie Alicein_array() — Pencarian Nilai
in_array() memeriksa apakah suatu nilai ada dalam larik:
<?php
$tags = ['php', 'mysql', 'nginx'];
var_dump(in_array('php', $tags)); // true
var_dump(in_array('apache', $tags)); // false
// Third argument = strict mode (uses ===)
var_dump(in_array('1', [1, 2, 3], true)); // false (type mismatch)array_search() — Mengembalikan Kunci
array_search() mengembalikan kunci dari nilai pertama yang cocok, atau false:
<?php
$colors = ['red', 'green', 'blue'];
$key = array_search('green', $colors);
echo $key; // 1
$notFound = array_search('purple', $colors);
var_dump($notFound); // bool(false)array_unique()
Hapus nilai duplikat dari larik:
<?php
$ids = [1, 2, 2, 3, 3, 3, 4];
$unique = array_unique($ids);
print_r($unique); // [1, 2, 3, 4] — keys preserved!
$reindexed = array_values($unique); // re-index to 0,1,2,3array_flip()
Tukar kunci dan nilai dalam larik asosiatif:
<?php
$map = ['a' => 1, 'b' => 2, 'c' => 3];
$flipped = array_flip($map);
print_r($flipped); // [1=>'a', 2=>'b', 3=>'c']
// Useful for O(1) lookup by value
$exists = isset($flipped[2]); // truearray_diff() dan array_intersect()
Bandingkan larik untuk menemukan perbedaan dan irisan:
<?php
$a = [1, 2, 3, 4, 5];
$b = [3, 4, 5, 6, 7];
$diff = array_diff($a, $b); // [1, 2] — in a but not b
$inter = array_intersect($a, $b); // [3, 4, 5] — in both
print_r($diff);
print_r($inter);Pencarian Biner melalui Logika Khusus
PHP tidak memiliki pencarian biner bawaan, tetapi Anda dapat mengimplementasikannya atau menggunakan kunci yang telah diurutkan untuk pencarian cepat:
<?php
function binarySearch(array $arr, int $target): int {
$lo = 0;
$hi = count($arr) - 1;
while ($lo <= $hi) {
$mid = intdiv($lo + $hi, 2);
if ($arr[$mid] === $target) return $mid;
$arr[$mid] < $target ? $lo = $mid + 1 : $hi = $mid - 1;
}
return -1;
}
echo binarySearch([1,3,5,7,9], 7); // 3Pemeriksaan Singkat
Fungsi PHP mana yang mengembalikan kunci dari nilai yang cocok dalam larik?
Ringkasan: Pengurutan dan Pencarian
Fungsi utama:
sort/rsort— berdasarkan nilai, mengindeks ulangasort/arsort— berdasarkan nilai, mempertahankan kunciksort/krsort— berdasarkan kunciusort— pembanding khususin_array— pemeriksaan keberadaan nilaiarray_search— pencarian kunci berdasarkan nilaiarray_unique/array_flip/array_diff/array_intersect
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Mengurutkan dan Mencari Array” gratis?
Ya — teks lengkap “Mengurutkan dan Mencari Array” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus PHP Academy, upgrade ke CoddyKit PRO. Kursus PHP Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Mengurutkan dan Mencari Array”?
Menggunakan sort, usort, array_search, dan in_array. Kamu berlatih PHP Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai PHP Academy?
Tidak diperlukan pengalaman sebelumnya. PHP Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.
Berapa lama pelajaran “Mengurutkan dan Mencari Array” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran PHP Academy ini?
Ya. Setiap pelajaran PHP Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Array Berindeks dan Asosiatif
- Array Multidimensi
- Mengurutkan dan Mencari Array
- Fungsi Transformasi Array