Hướng dẫn dùng 0 zero trong PHP
Tôi nhận ra đây là một câu hỏi cũ, nhưng nó có liên quan đến ngày nay và tôi không thực sự thích các câu trả lời ở đây. Cách thích hợp để khắc phục điều này, là thực sự tự đánh giá biểu thức - nghĩa là, bằng cách phân tích cú pháp biểu thức, sau đó đánh giá nó từng bước, thay vì chuyển nó sang PHP. Điều này có thể được thực hiện bằng cách sử dụng https://en.wikipedia.org/wiki/Shunting-yard_algorithm . Tôi đã viết cách triển khai sau đây, nhưng tôi chưa thử nghiệm nó. Nó dựa trên bài viết Wikipedia ở trên. Không có hỗ trợ cho các toán tử liên kết phải, vì vậy nó được đơn giản hóa một chút.
Trong trường hợp cụ thể của bạn Mặc dù tôi thích giải pháp Shunting Yard hơn - nếu tôi vẫn quyết định sử dụng phiên bản eval () -, tôi sẽ tạo phương thức custom_division ($ leftHandSide, $ rightHandSide), phương thức này sẽ đưa ra một ngoại lệ. Mã này:
trở thành
1 hữu ích 0 bình luận chia sẻ |