Biasanya Anda dapat menggunakan meledak dengan ini, namun hanya menggunakan meledak adalah pendekatan yang naif karena ada sedikit pembersihan yang harus dilakukan,
$array = array_filter( array_map('trim', explode(',', $teams ) ) );
Ini melakukan 3 hal.
- meledakkan $teams dengan koma
- peta array, yang menjalankan fungsi terhadap setiap item, dalam hal ini trim yang menghilangkan spasi
- filter array yang menghapus item kosong untuk berjaga-jaga jika Anda memiliki item seperti
item,,
ini - perhatikan bahwa array_filter juga akan menghapus elemen denganfalse
dan0
serta yang kosong, tetapi dalam hal ini sudah cukup.
Sekarang mengonversi array ke markup Anda harus relativitas sepele,
echo '<select name="tournament_team" class="form-control" >';
echo '<option value="">--- Select Team ---</option>';
foreach( $array as $item ){
if($_POST['tournament_team'] == $item){
$selected = ' selected="selected"';
}else{
$selected = '';
}
echo '<option value="'.$item.'"'.$selected.'>'.$item.'</option>';
}
echo '</select>';
Tidak perlu memilih item default, jika dirender terlebih dahulu dan tidak ada pilihan maka akan dipilih secara default, $selection
hanya untuk kelengketan formulir dan Anda dapat menghilangkan atau memodifikasinya sesuai kebutuhan Anda.
Hal terakhir adalah Anda harus memperhatikan casing di sini, karena Anda memiliki casing campuran jadi saya tidak 100% yakin yang Anda inginkan, misalnya india
vs India
.
Untuk huruf kecil gunakan strtolower()
untuk huruf besar huruf pertama hanya menggunakan ucfirst()
Saya juga belum menguji ini tetapi harus cukup dekat dikurangi kesalahan ketik apa pun, yang mungkin saya buat.