0Pricing
PHP Academy · Pelajaran

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 Alice

in_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,3

array_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]);  // true

array_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); // 3

Pemeriksaan Singkat

Fungsi PHP mana yang mengembalikan kunci dari nilai yang cocok dalam larik?

Ringkasan: Pengurutan dan Pencarian

Fungsi utama:

  • sort/rsort — berdasarkan nilai, mengindeks ulang
  • asort/arsort — berdasarkan nilai, mempertahankan kunci
  • ksort/krsort — berdasarkan kunci
  • usort — pembanding khusus
  • in_array — pemeriksaan keberadaan nilai
  • array_search — pencarian kunci berdasarkan nilai
  • array_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

  1. Array Berindeks dan Asosiatif
  2. Array Multidimensi
  3. Mengurutkan dan Mencari Array
  4. Fungsi Transformasi Array
← Kembali ke PHP Academy