> For the complete documentation index, see [llms.txt](https://learn.devlabss.my.id/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://learn.devlabss.my.id/php/bab-4-mengelola-array/4.4-perulangan-foreach.md).

# 4.4 Perulangan FOREACH

`foreach` adalah cara paling umum untuk membaca isi array di PHP.

Bagian ini menunjukkan cara mengakses nilai saja atau pasangan kunci dan nilai.

### Tujuan belajar

Setelah mempelajari bagian ini, Anda diharapkan bisa:

* memahami fungsi `foreach`
* menampilkan seluruh isi array dengan perulangan
* memakai `foreach` untuk indexed array dan associative array

### Kenapa `foreach` penting

Setelah Anda punya array, biasanya Anda tidak ingin mengambil isinya satu per satu secara manual.

`foreach` membantu membaca semua isi array dengan lebih singkat dan lebih rapi.

### Bentuk dasar `foreach`

```php
<?php
$buah = ["Apel", "Jeruk", "Mangga"];

foreach ($buah as $item) {
    echo $item;
    echo "<br>";
}
?>
```

Program ini akan menampilkan semua isi array satu per satu.

### Cara kerja `foreach`

Pada setiap putaran:

* PHP mengambil satu nilai dari array
* nilai itu disimpan sementara di variabel `$item`
* isi blok kode dijalankan

### `foreach` pada associative array

```php
<?php
$siswa = [
    "nama" => "Rina",
    "kelas" => "XI RPL 1",
    "jurusan" => "RPL"
];

foreach ($siswa as $kunci => $nilai) {
    echo $kunci . ": " . $nilai;
    echo "<br>";
}
?>
```

Pada contoh ini:

* `$kunci` menyimpan nama kunci
* `$nilai` menyimpan isi dari kunci tersebut

### Contoh pada multidimensional array

```php
<?php
$siswa = [
    ["nama" => "Andi", "kelas" => "XI RPL 1"],
    ["nama" => "Rina", "kelas" => "XI RPL 2"]
];

foreach ($siswa as $data) {
    echo $data["nama"] . " - " . $data["kelas"];
    echo "<br>";
}
?>
```

Contoh ini sangat dekat dengan kasus nyata saat menampilkan daftar data.

### Kapan `foreach` dipakai

Gunakan `foreach` saat:

* ingin membaca semua isi array
* tidak perlu mengatur angka indeks secara manual
* ingin kode lebih ringkas dibanding `for`

### Kesalahan umum

* salah menulis variabel penampung di dalam `foreach`
* lupa bahwa `foreach` bekerja pada array
* bingung membedakan nilai tunggal dan pasangan kunci-nilai

### Latihan singkat

Buat:

* satu indexed array berisi tiga nama buah
* satu associative array berisi data diri sederhana

Lalu tampilkan keduanya memakai `foreach`.

### Poin evaluasi bab 4.4.

Pastikan Anda sudah memahami poin berikut:

* Saya paham fungsi `foreach`.
* Saya bisa menampilkan semua isi indexed array.
* Saya bisa membaca kunci dan nilai pada associative array.
* Saya tahu kapan `foreach` lebih cocok dipakai.

Jika semua sudah jelas, lanjut ke [Praktik: Membuat Daftar Menu Restoran](/php/bab-4-mengelola-array/praktik-membuat-daftar-menu-restoran.md).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://learn.devlabss.my.id/php/bab-4-mengelola-array/4.4-perulangan-foreach.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
