⊗ppPmLpFl 124 of 447 menu

Bekerja dengan Flag di PHP

Sekarang kita akan belajar bekerja dengan flag. Flag adalah variabel khusus yang hanya dapat menerima dua nilai: true dan false. Dengan menggunakan flag, kita dapat menyelesaikan tugas-tugas yang memeriksa ketiadaan sesuatu: contohnya, kita dapat memeriksa bahwa dalam array tidak ada elemen dengan nilai tertentu. Mari kita mulai.

Mari kita selesaikan tugas berikut: diberikan sebuah array dengan angka, perlu diperiksa apakah di dalamnya ada elemen dengan nilai 3 atau tidak. Jika ada - tampilkan '+++', jika tidak - tampilkan '---'.

Pertama-tama, mari kita coba menampilkan '+++'. Untuk itu, kita akan ulangi semua elemen array kita dan dengan *if* akan menanyakan - apakah elemen saat ini sama dengan nilai 3. Jika sama - tampilkan '+++':

<?php $arr = [1, 2, 3, 4, 5]; foreach ($arr as $elem) { if ($elem === 3) { echo '+++'; } } ?>

Tapi solusi kita tidak terlalu baik: karena jika dalam array tidak hanya ada satu nilai 3, tapi beberapa, maka '+++' akan ditampilkan beberapa kali. Mari kita perbaiki array kita (buat dua elemen dengan nilai 3) dan pastikan hal ini:

<?php $arr = [1, 2, 3, 4, 3, 5]; foreach ($arr as $elem) { if ($elem === 3) { echo '+++'; // akan menampilkan beberapa kali } } ?>

Mari perbaiki masalahnya: hentikan perulangan dengan break, jika elemen sudah ditemukan:

<?php $arr = [1, 2, 3, 4, 3, 5]; foreach ($arr as $elem) { if ($elem === 3) { echo '+++'; break; // hentikan perulangan } } ?>

Sekarang mari kita coba membuat agar, jika dalam array sama sekali tidak ada elemen dengan nilai 3, ditampilkan '---'. Kesalahpahaman yang umum adalah menambahkan else ke *if* kita - dalam hal ini '---' akan ditampilkan untuk semua elemen yang bukan 3:

<?php $arr = [1, 2, 3, 4, 5]; foreach ($arr as $elem) { if ($elem === 3) { echo '+++'; // akan tampil pada elemen 3 } else { echo '---'; // akan tampil pada elemen 1, 2, 4, 5 } } ?>

Jadi, ide untuk menambahkan else adalah ide yang buruk, tidak bekerja. Untuk menyelesaikan tugas-tugas semacam ini (tugas seperti ini cukup sering ditemui) digunakan yang disebut flag.

Seperti yang telah disebutkan di atas, flag adalah variabel yang dapat menerima dua nilai: true atau false.

Jadi, mari kita buat variabel flag dengan nilai seperti ini: jika nilainya true, maka dalam array ada elemen 3, dan jika false, maka tidak ada elemen tersebut.

Awalnya, kita atur variabel flag ke nilai false - artinya kita anggap, bahwa elemen 3 tidak ada dalam array:

$arr = [1, 2, 3, 4, 5]; $flag = false; // menganggap bahwa elemen 3 tidak ada dalam array

Kemudian jalankan perulangan dengan *if* seperti yang kita lakukan sebelumnya. Jika perulangan menemukan bahwa dalam array ada elemen 3 - maka atur variabel flag ke nilai true dan keluar dari perulangan dengan break:

<?php $arr = [1, 2, 3, 4, 5]; $flag = false; // menganggap bahwa elemen 3 tidak ada dalam array foreach ($arr as $elem) { if ($elem === 3) { $flag = true; // elemen ada - ubah variabel $flag break; // keluar dari perulangan } } ?>

Jawaban atas pertanyaan, apakah dalam array ada 3 atau tidak, hanya bisa kita berikan setelah perulangan. Dan jawaban ini sudah kita miliki: setelah perulangan variabel flag bisa tetap false atau bisa berubah nilainya menjadi true, jika perulangan mendeteksi adanya 3 dalam array:

<?php $arr = [1, 2, 3, 4, 5]; $flag = false; foreach ($arr as $elem) { if ($elem === 3) { $flag = true; break; } } // di sini variabel $flag sama dengan true atau false ?>

Sekarang setelah perulangan, kita dapat membuat *if*, yang akan melihat variabel flag dan menampilkan '+++' atau '---' ke layar:

<?php $arr = [1, 2, 3, 4, 5]; $flag = false; foreach ($arr as $elem) { if ($elem === 3) { $flag = true; break; } } if ($flag === true) { echo '+++'; } else { echo '---'; } ?>

Diberikan array:

<?php $arr = ['a', 'b', 'c', 'd', 'e']; ?>

Periksa apakah dalam array ini ada elemen 'c'. Jika ada - tampilkan '+++', dan jika tidak - tampilkan '---'.

Tulis kode yang akan memeriksa suatu angka, apakah itu bilangan prima atau bukan. Bilangan prima hanya habis dibagi oleh satu dan oleh dirinya sendiri, dan tidak habis dibagi oleh angka lainnya.

Indonesia
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Kami menggunakan cookie untuk operasi situs, analitik, dan personalisasi. Pemrosesan data dilakukan sesuai dengan Kebijakan Privasi.
terima semua atur tolak