answer 329 Có, Lưu ý rằng PHP_EOL đại diện cho ký tự endline cho hệ thống hiện tại . Chẳng hạn, nó sẽ không tìm thấy một dòng cuối Windows khi được thực thi trên một hệ thống giống như unix. 329 hữu ích 5 bình luận chia sẻ answer 81 Từ
Như bạn thấy Như những người khác đã nói với bạn, bạn có thể sử dụng Tôi chỉ muốn hiển thị các giá trị sở hữu
được 81 hữu ích 5 bình luận chia sẻ answer 79 Bạn sử dụng Điều này có thể là khi bạn đang ghi tập tin vào hệ thống tập tin (nhật ký, xuất, khác). Bạn có thể sử dụng nó nếu bạn muốn HTML được tạo của mình có thể đọc được. Vì vậy, bạn có thể làm theo của bạn Bạn sẽ sử dụng nó nếu bạn đang chạy php dưới dạng tập lệnh từ cron và bạn cần xuất ra một cái gì đó và để nó được định dạng cho màn hình. Bạn có thể sử dụng nó nếu bạn đang xây dựng một email để gửi một số định dạng cần thiết. 79 hữu ích 5 bình luận chia sẻ answer 19
Bạn có thể sử dụng hằng số này khi bạn đọc hoặc ghi tệp văn bản trên hệ thống tệp của máy chủ. Kết thúc dòng không quan trọng trong hầu hết các trường hợp vì hầu hết các phần mềm có khả năng xử lý các tệp văn bản bất kể nguồn gốc của chúng. Bạn nên phù hợp với mã của bạn. Nếu kết thúc dòng quan trọng, chỉ định rõ ràng kết thúc dòng thay vì sử dụng hằng. Ví dụ:
19 hữu ích 3 bình luận chia sẻ answer 11 Tôi muốn đưa ra một câu trả lời có nội dung "Khi nào không sử dụng nó" vì nó chưa được bảo hiểm và có thể tưởng tượng nó được sử dụng một cách mù quáng và không ai nhận thấy có vấn đề gì cho đến khi xuống dòng. Một số điều này mâu thuẫn với một số câu trả lời hiện có phần nào. Nếu xuất ra đến một trang web dưới dạng HTML, đặc biệt là văn bản trong Lý do cho điều này là vì mã có thể hoạt động tốt trên một sever - đó là một nền tảng giống Unix - nếu được triển khai trên máy chủ Windows (như nền tảng Windows Azure) thì nó có thể thay đổi cách hiển thị các trang trong một số trình duyệt (cụ thể là Internet Explorer - một số phiên bản sẽ thấy cả \ n và \ r). Tôi không chắc liệu đây có còn là vấn đề kể từ IE6 hay không, vì vậy nó có thể khá khó khăn nhưng có vẻ đáng nói nếu nó giúp mọi người nhanh chóng nghĩ về bối cảnh.
Có thể có các trường hợp khác (chẳng hạn như XHTML nghiêm ngặt) khi việc xuất hoàn toàn Như đã được lưu ý bởi ai đó, bạn sẽ không muốn sử dụng nó khi trả về các tiêu đề HTTP - vì họ phải luôn theo dõi RFC trên bất kỳ nền tảng nào. Tôi sẽ không sử dụng nó cho những thứ như dấu phân cách trên các tệp CSV (như ai đó đã đề xuất). Nền tảng mà sever đang chạy không nên xác định các kết thúc dòng trong các tệp được tạo hoặc tiêu thụ. 11 hữu ích 0 bình luận chia sẻ answer 10 Không, PHP_EOL không xử lý các sự cố nội tuyến, bởi vì hệ thống nơi bạn sử dụng hằng số đó không giống với hệ thống mà bạn gửi đầu ra. Tôi không khuyên bạn nên sử dụng PHP_EOL cả. Unix / Linux sử dụng \ n, MacOS / OS X cũng thay đổi từ \ r thành \ n và trên Windows, nhiều ứng dụng (đặc biệt là trình duyệt) cũng có thể hiển thị chính xác. Trên Windows, bạn cũng dễ dàng thay đổi mã phía máy khách hiện tại để chỉ sử dụng \ n và vẫn duy trì khả năng tương thích ngược: Chỉ cần thay đổi dấu phân cách để cắt xén dòng từ \ r \ n thành \ n và bọc nó trong một chức năng như trim () . 10 hữu ích 3 bình luận chia sẻ answer 9 Tôi thấy PHP_EOL rất hữu ích để xử lý tệp, đặc biệt nếu bạn đang viết nhiều dòng nội dung vào một tệp. Ví dụ: bạn có một chuỗi dài mà bạn muốn chia thành nhiều dòng trong khi viết vào tệp đơn giản. Sử dụng \ r \ n có thể không hoạt động nên chỉ cần đưa PHP_EOL vào tập lệnh của bạn và kết quả thật tuyệt vời. Kiểm tra ví dụ đơn giản dưới đây:
9 hữu ích 1 bình luận chia sẻ answer 6 Định nghĩa của PHP_EOL là nó cung cấp cho bạn ký tự dòng mới của hệ điều hành bạn đang làm việc. Trong thực tế, bạn gần như không bao giờ cần điều này. Hãy xem xét một vài trường hợp:
PHP_EOL dài đến mức nực cười đến nỗi nó thực sự không đáng để sử dụng nó. 6 hữu ích 4 bình luận chia sẻ answer 3 Có một nơi rõ ràng có thể hữu ích: khi bạn đang viết mã chủ yếu sử dụng các chuỗi trích dẫn. Nó được tranh luận là liệu:
Nghệ thuật của nó là phải nhất quán. Vấn đề với sự pha trộn và kết hợp '' và "" là khi bạn nhận được chuỗi dài, bạn không thực sự muốn đi săn tìm loại trích dẫn nào bạn đã sử dụng. Như với tất cả mọi thứ trong cuộc sống, nó phụ thuộc vào bối cảnh. 3 hữu ích 0 bình luận chia sẻ answer 3 "Dòng mới" của DOS / Windows là CRLF (= \ r \ n) chứ không phải LFCR (\ n \ r). Nếu chúng ta đặt cái sau, nó có khả năng tạo ra một số hành vi bất ngờ (tốt, trên thực tế, loại dự kiến !: D). Ngày nay, hầu hết tất cả các chương trình (được viết tốt) đều chấp nhận tiêu chuẩn UNIX (\ n) cho mã dòng mới, thậm chí cả trình nền của người gửi thư (RFC đặt CRLF làm dòng mới cho tiêu đề và nội dung thư). 3 hữu ích 0 bình luận chia sẻ answer 2 Tôi có một trang web nơi tập lệnh ghi nhật ký ghi một dòng văn bản mới vào tệp văn bản sau một hành động từ người dùng, người có thể đang sử dụng bất kỳ HĐH nào. Sử dụng PHP_EOL dường như không phải là tối ưu trong trường hợp này. Nếu người dùng ở trên Mac OS và ghi vào tệp văn bản, nó sẽ đặt \ n. Khi mở tệp văn bản trên máy tính windows, nó không hiển thị ngắt dòng. Vì lý do này, tôi sử dụng "\ r \ n" thay vì hoạt động khi mở tệp trên bất kỳ HĐH nào. 2 hữu ích 0 bình luận chia sẻ answer 1 Tiện dụng với error_log () nếu bạn xuất ra nhiều dòng. Tôi đã tìm thấy rất nhiều câu lệnh gỡ lỗi trông lạ khi cài đặt windows của tôi vì các nhà phát triển đã giả sử các kết thúc unix khi chia chuỗi. 1 hữu ích 0 bình luận chia sẻ answer 1 Bạn đang viết mã chủ yếu sử dụng các chuỗi trích dẫn.
1 hữu ích 0 bình luận chia sẻ answer 0 Tôi sử dụng hằng số PHP_EOL trong một số tập lệnh dòng lệnh tôi phải viết. Tôi phát triển trên máy Windows cục bộ của mình và sau đó thử nghiệm trên hộp máy chủ Linux. Sử dụng hằng số có nghĩa là tôi không phải lo lắng về việc sử dụng đúng dòng kết thúc cho mỗi nền tảng khác nhau. 0 hữu ích 0 bình luận chia sẻ answer 0 Tôi đang sử dụng WebCalWiki và thấy rằng Mac iCal barfs khi nhập tệp ics được tạo vì dòng cuối được mã hóa cứng trong xcal.php là "\ r \ n". Tôi đã đi vào và thay thế tất cả các lần xuất hiện với PHP_EOL và bây giờ iCal rất vui! Tôi cũng đã thử nghiệm nó trên Vista và Outlook cũng có thể nhập tệp, mặc dù cuối dòng ký tự là "\ n". 0 hữu ích 1 bình luận chia sẻ answer 0 Khi jumi (plugin j Joomla cho PHP) biên dịch mã của bạn vì một số lý do, nó sẽ xóa tất cả các dấu gạch chéo ngược khỏi mã của bạn. Như vậy một cái gì đó như
Lỗi rất khó chịu! Sử dụng PHP_EOL thay thế để có được kết quả mà bạn đạt được sau đó. 0 hữu ích 1 bình luận chia sẻ answer 0 Trên một số hệ thống có thể hữu ích để sử dụng hằng số này bởi vì, ví dụ, nếu bạn đang gửi email, bạn có thể sử dụng PHP_EOL để tập lệnh hệ thống chéo hoạt động trên nhiều hệ thống hơn ... nhưng ngay cả khi đôi khi nó hữu ích, bạn có thể tìm thấy liên tục không xác định, lưu trữ hiện đại với công cụ php mới nhất không gặp phải vấn đề này nhưng tôi nghĩ rằng một điều tốt là viết một mã bit để cứu tình huống này:
Vì vậy, bạn có thể sử dụng PHP_EOL mà không gặp vấn đề gì ... rõ ràng rằng PHP_EOL nên được sử dụng trên tập lệnh nên hoạt động trên nhiều hệ thống cùng một lúc nếu không bạn có thể sử dụng \ n hoặc \ r hoặc \ r \ n ... Lưu ý: PHP_EOL có thể
Mong câu trả lời này có ích. 0 hữu ích 0 bình luận chia sẻ answer 2 Tôi thích sử dụng \ n \ r. Ngoài ra tôi đang ở trên một hệ thống cửa sổ và \ n hoạt động tốt theo kinh nghiệm của tôi. Vì PHP_EOL không hoạt động với các biểu thức thông thường và đây là cách xử lý văn bản hữu ích nhất, nên tôi thực sự không bao giờ sử dụng nó hoặc cần thiết. 2 hữu ích 2 bình luận chia sẻ |