Vanligtvis kan du använda explode med detta, men att bara använda explodera är ett naivt tillvägagångssätt eftersom det finns lite sanering att göra,
$array = array_filter( array_map('trim', explode(',', $teams ) ) );
Detta gör 3 saker.
- explodera $teams med kommatecken
- matriskarta, som kör en funktion mot varje objekt, i det här fallet trim som tar bort blanksteg
- matrisfilter som tar bort tomma objekt ifall du har ett objekt som detta
item,,
- Observera dock att array_filter också tar bort element medfalse
och0
såväl som tomma, men i det här fallet borde det vara tillräckligt.
Att nu konvertera arrayen till din markering borde vara relativitetstrivial,
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>';
Det finns inget behov av att välja standardobjektet, om det renderas först och det inte finns något val kommer det att väljas som standard, $selection
är bara för formklibbighet och du kan utelämna eller ändra det som dina behov dikterar.
Det sista är att du måste titta på höljet här, eftersom du har blandat hölje så jag är inte 100% säker på vilket du vill ha, till exempel india
kontra India
.
Använd strtolower()
för att ge gemener Använd bara ucfirst()
för att versal den första bokstaven
Jag har inte heller testat detta men det borde vara ganska nära minus eventuella stavfel som jag kan ha gjort.