Dưới đây là hai phiên bản của một dòng trong một file php:Tại sao dán một dòng ngắt mã nếu viết cùng một dòng bằng tay hoạt động tốt?
Đầu tiên phiên bản:
if ($projet['sourceDonnees'] === (string)$CONSTANTS['sourceDonnees_saisie']) {
Thứ hai phiên bản:
if ($projet['sourceDonnees'] === (string)$CONSTANTS['sourceDonnees_saisie']) {
Mặc dù họ trông giống hệt nhau, phiên bản đầu tiên kết quả trong một PHP Parse error: syntax error, unexpected T_STRING
, trong khi phiên bản thứ hai hoạt động tốt. Sự khác biệt giữa hai là phiên bản đầu tiên được dán và sửa đổi trong khi phiên bản thứ hai được viết ra bằng tay hoàn toàn. Những gì đang xảy ra ở đây?
Ghi chú: Dòng được sao chép từ tệp văn bản được mã hóa bằng UTF-8 và được dán vào tệp văn bản UTF-8 khác. Tất cả các hoạt động được thực hiện trong gedit, cả hai tập tin được viết bởi tôi trong gedit.
Nếu trình chỉnh sửa của bạn có tùy chọn hiển thị biểu tượng, hãy thử bật biểu tượng đó và xem tit có giúp giảm bớt ánh sáng hay không. – Jrod
Tôi sử dụng BBEdit cho phép tôi bật tùy chọn để xem các ký tự ẩn. Thông thường mã mà tôi tìm thấy trực tuyến và được sao chép từ một trình duyệt hoàn toàn bị hỏng với rác vô hình.Tốt nhất là nhập lại mã bạn tìm thấy trực tuyến nếu trình chỉnh sửa của bạn không đủ nâng cao để hiển thị cho bạn các ký tự đi lạc. Trong mã của bạn, BBEdit đang hiển thị cho tôi một ký tự vô hình nằm giữa ']' và '===', như thế này '] • ==='. Nhập lại nó bằng một khoảng trắng. – Sparky
@Sparky Làm thế nào để người ta thường gõ ký tự đó? Có lẽ tôi đã gõ nó một cách tình cờ trong chuỗi gốc ... – Shawn