Tôi đang phân tích cú pháp một số văn bản và tính toán trọng số dựa trên một số quy tắc. Tất cả các nhân vật đều có cùng trọng số. Điều này sẽ làm cho các tuyên bố chuyển đổi thực sự dài, tôi có thể sử dụng phạm vi trong trường hợp tuyên bố.php chuyển đổi trường hợp tuyên bố để xử lý phạm vi
Tôi đã thấy một trong những câu trả lời ủng hộ mảng kết hợp.
$weights = array(
[a-z][A-Z] => 10,
[0-9] => 100,
['+','-','/','*'] => 250
);
//there are more rules which have been left out for the sake of clarity and brevity
$total_weight = 0;
foreach ($text as $character)
{
$total_weight += $weight[$character];
}
echo $weight;
Cách tốt nhất để đạt được điều gì đó như thế này? Có điều gì đó tương tự như câu lệnh trường hợp bash trong php không? Chắc chắn viết xuống từng ký tự riêng lẻ trong mảng kết hợp hoặc câu lệnh chuyển đổi không thể là giải pháp thanh lịch nhất hoặc là giải pháp thay thế duy nhất?
Cách tiếp cận rất đẹp. – nikhil
Làm cách nào để thêm trường hợp mặc định. Nói điều gì đó không được tìm thấy và tôi muốn gán cho nó một trọng lượng cố định. – nikhil
Tìm thấy thứ gì đó không khớp với bất kỳ trường hợp nào. Ngay bây giờ nó không nhận được bất kỳ trọng lượng được giao nhưng tôi muốn có một giá trị mặc định khác 0. – nikhil