我什么时候使用PHP常量“PHP_EOL”?
什么时候使用PHP_EOL
是个好主意?
我有时会在PHP的代码示例中看到这一点。这是否处理 DOS/Mac/Unix 端点问题?
什么时候使用PHP_EOL
是个好主意?
我有时会在PHP的代码示例中看到这一点。这是否处理 DOS/Mac/Unix 端点问题?
是的,表面上用于以跨平台兼容的方式查找换行符,因此它处理DOS / Unix问题。PHP_EOL
请注意,PHP_EOL表示当前系统的结束线字符。例如,在类unix系统上执行时,它不会找到Windows尾线。
从 PHP 版本 7.1.1 和版本 5.6.30 开始:main/php.h
#ifdef PHP_WIN32
# include "tsrm_win32.h"
# include "win95nt.h"
# ifdef PHP_EXPORTS
# define PHPAPI __declspec(dllexport)
# else
# define PHPAPI __declspec(dllimport)
# endif
# define PHP_DIR_SEPARATOR '\\'
# define PHP_EOL "\r\n"
#else
# if defined(__GNUC__) && __GNUC__ >= 4
# define PHPAPI __attribute__ ((visibility("default")))
# else
# define PHPAPI
# endif
# define THREAD_LS
# define PHP_DIR_SEPARATOR '/'
# define PHP_EOL "\n"
#endif
如您所见,可以是(在Windows服务器上)或(在其他任何东西上)。在 5.4.0RC8 之前的 PHP 版本上,有第三个值可用于 :(在 MacOSX 服务器上)。它是错误的,并已在2012-03-01上修复,错误为61193。PHP_EOL
"\r\n"
"\n"
PHP_EOL
"\r"
正如其他人已经告诉您的那样,您可以在任何类型的输出(其中任何一个值都有效 - 例如:HTML,XML,logs...)中使用您想要统一的换行符。请记住,确定值的是服务器,而不是客户端。您的Windows访问者将从您的Unix服务器获得价值,这有时对他们来说很不方便。PHP_EOL
我只是想显示PHP源代码支持的可能值,因为它尚未在此处显示...PHP_EOL