Thông thường, bạn có thể sử dụng bùng nổ với điều này, tuy nhiên chỉ sử dụng bùng nổ là một cách tiếp cận đơn giản vì cần phải dọn dẹp một chút,
$array = array_filter( array_map('trim', explode(',', $teams ) ) );
Điều này thực hiện 3 điều.
- bùng nổ các đội $ bằng dấu phẩy
- bản đồ mảng, chạy một hàm đối với từng mục, trong trường hợp này là lược đồ loại bỏ khoảng trắng
- bộ lọc mảng sẽ loại bỏ các mục trống chỉ trong trường hợp bạn có một mục như
item,,
này - lưu ý rằng array_filter cũng sẽ xóa các phần tử cófalse
và0
cũng như những cái trống, nhưng trong trường hợp này, nó phải là đủ.
Bây giờ, việc chuyển đổi mảng thành đánh dấu của bạn sẽ trở nên tầm thường,
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>';
Không cần chọn mục mặc định, nếu nó được hiển thị trước và không có lựa chọn nào thì nó sẽ được chọn theo mặc định, $selection
chỉ dành cho sự cố định của biểu mẫu và bạn có thể bỏ qua hoặc sửa đổi điều đó khi nhu cầu của bạn ra lệnh.
Điều cuối cùng là bạn sẽ phải xem cách viết hoa ở đây, vì bạn có cách viết hoa hỗn hợp nên tôi không chắc chắn 100% bạn muốn cái nào, ví dụ:india
so với India
.
Để viết thường, hãy sử dụng strtolower()
để viết hoa chữ cái đầu tiên chỉ sử dụng ucfirst()
Ngoài ra, tôi chưa kiểm tra điều này nhưng nó sẽ khá gần, trừ bất kỳ lỗi chính tả nào mà tôi có thể đã mắc phải.