Да, PHP_EOL
якобы используется для нахождения символа новой строки кросс-платформенно-совместимым способом, таким образом, он обрабатывает проблемы DOS/Unix.
Примечание, что PHP_EOL представляет endline символ для текущий система. Например, это не найдет Windows endline, когда выполняется в подобной Unix системе.
Вы используете PHP_EOL
, когда Вы хотите новую строку, и Вы хотите быть межплатформенными.
Это могло быть, когда Вы пишете файлы в файловую систему (журналы, экспорт, другой).
Вы могли использовать его, если Вы хотите, чтобы Ваш сгенерированный HTML был читаем. Таким образом, Вы могли бы следовать за Вашим <br />
с PHP_EOL
.
Вы использовали бы его, если Вы выполняете php как сценарий от крона, и необходимо было произвести что-то и иметь его быть отформатированными для экрана.
Вы могли бы использовать его при создании электронного письма для отправки, которому было нужно некоторое форматирование.
Определение PHP_EOL заключается в том, что он дает вам символ новой строки операционной системы, над которой вы работаете.
На практике вам это почти никогда не понадобится. Рассмотрим несколько случаев:
Когда вы выводите в Интернет, на самом деле не существует никаких соглашений, за исключением того, что вы должны быть последовательными. Поскольку большинство серверов Unixy, вы все равно захотите использовать «\ n».
Если вы выводите в файл, PHP_EOL может показаться хорошей идеей. Тем не менее, вы можете получить аналогичный эффект, имея буквальный символ новой строки в вашем файле, и это поможет вам, если вы попытаетесь запустить некоторые файлы в формате CRLF в Unix, не забивая существующие символы новой строки (как парень с двойной загрузкой системы). , Могу сказать, что предпочитаю последнее поведение)
PHP_EOL настолько нелепо длинен, что его действительно не стоит использовать.
Я просто испытал эту проблему при выводе клиенту Windows. Несомненно, PHP_EOL для стороны сервера, но большая часть вывода содержания от php для клиентов окон. Таким образом, я должен поместить свои результаты сюда для следующего человека.
А повторяют 'Мой текст'. PHP_EOL;//Плохо, потому что это справедливые выводы \n и большинство версий блокнота окон отображает это на одной строке и большинстве окон, бухгалтерское программное обеспечение не может импортировать этот тип конца символа строки.
B) повторяют 'Мой текст \r\n';//Плохо, потому что единственный заключил строки php в кавычки, не интерпретируют эхо \r\n
C) "Мой текст \r\n";//Yay это работает! Взгляды исправляют в блокноте и работах при импорте файла к другому программному обеспечению Windows, таких как учет окон и окна производственное программное обеспечение.
Удобно с error_log (), если вы выводите несколько строк.
Я обнаружил, что многие отладочные операторы выглядят странно при моей установке Windows, так как разработчики предполагали окончания unix при нарушении вверх по строкам.
Я использую константу PHP_EOL в некоторых сценариях командной строки, которые мне приходилось писать. Я разрабатываю на своем локальном компьютере с Windows, а затем тестирую на сервере Linux. Использование константы означало, что я не
Я использую WebCalendar и обнаружил, что Mac iCal блокирует импорт сгенерированного файла ics, потому что конец строки жестко закодирован в xcal.php как "\ r \ n". Я вошел и заменил все вхождения на PHP_EOL, и теперь iCal счастлив! Я также тестировал его в Vista, и Outlook также смог импортировать файл, даже несмотря на то, что символ конца строки - "\ n".
Я предпочитаю использовать \ n \ r. Кроме того, я использую систему Windows, и \ n, по моему опыту, отлично работает.
Поскольку PHP_EOL не работает с регулярными выражениями, и это наиболее полезный способ работы с текстом, я действительно никогда не использовал его и не нуждался в .
Когда jumi (плагин joomla для PHP) компилирует ваш код, по какой-то причине он удаляет все обратные косые черты из вашего кода. Такое, что что-то вроде $ csv_output. = "\ N";
становится $ csv_output. = "N";
Очень неприятная ошибка!
Используйте PHP_EOL вместо этого, чтобы получить желаемый результат.