PHP_EOL: 换行符,解决linux,windows 不同平台 兼容的问题

一个小小的换行,其实在不同的平台有着不同的实现,为什么要这样,可以是世界是多样的。

本来在unix世界换行就用/n来代替,但是windows为了体现他的不同,就用/r/n,更有意思的是在mac中用/r

因此unix系列用 /n

windows系列用 /r/n

mac用 /r

这样就用你写的程序在不同的平台上运行有着不少的麻烦

比如有的程序要把文件中的所有行都合成一行,这有不同的实现方式,

第一种方式

str_replace(array("/r","/n","/r/n"),"",$string);

第二种方式就用正则表达示

$str = preg_replace('//s*/', '', $str);

第三种方式

这里不得不重新看一下php那些已经定义好的变量

PHP_EOL就是其中的一个,代表php的换行符,这个变量会根据平台而变,在windows下会是/r/n,在linux下是/n,在mac下是/r

$str = str_replace(PHP_EOL, '', $str);

PHP预定义变量 PHP_EOL相关推荐

  1. 预定义变量 - PHP手册笔记

    原文:预定义变量 - PHP手册笔记 预定义变量将所有的外部变量表示成内建环境变量,并且将错误信息表示成返回头.超全局变量是在全部作用域中始终可用的内置变量.在函数或方法中无需执行global $va ...

  2. bash之预定义变量

    1.2 预定义变量 echo $PWD 当前路径 echo $USER 当前用户 echo $HOME 当前用户的家目录 echo $PATH 当前的环境变量 echo ~ 当前用户的用户迷路 ech ...

  3. linux系统预定义变量有哪些,Shell预定义变量用法详解

    预定义变量是在 Shell 一开始时就定义的变量,这一点和默认环境变量有些类似.不同的是,预定义变量不能重新定义,用户只能根据 Shell 的定义来使用这些变量. 严格来说,位置参数变量也是预定义变量 ...

  4. PHP学习笔记1.2——预定义变量参考

    预定义变量和用户自定义变量在使用上没有区别,大多数预定义变量的执行结果都是服务器的相关信息(如:版本号.路径.错误参数等),所以我们很少将其用于网站前台开发,如果被别有用心得人知道了后,会严重威胁服务 ...

  5. shell预定义变量

    预定义变量: 就是shell设计者已经事先定义好的变量,可以直接在shell脚本中使用. 预定义变量 功能描述 $$ 当前进程的进程号(PID) $! 后台运行的最后一个进程的进程号(PID) $? ...

  6. c++ 预处理命令 预定义变量用法

    预处理命令 预定义变量用法 语法 在不同的编译器可能会有所不同, 但是一般是可用的 语法 LINE FILE DATE TIME _cplusplus STDC 在不同的编译器可能会有所不同, 但是一 ...

  7. make的自动变量和预定义变量

    make的自动变量 $@ 规则目标的文件名.如果目标是档案文件的一个成员,"$@"就是档案文件的名称 $% 当目标是档案文件的一个成员时,"$%"是该成员的名称 ...

  8. shell脚本编译规范(编写第一个脚本,脚本变量的作用,类型 ,了解read命令,let命令,环境变量和预定义变量)

    文章目录 shell脚本编译规范 shell脚本应用场景 shell编程规范 编写第一个脚本 执行脚本文件四种方法 echo输出友好提示信息 管道与重定向 管道操作符号"|" sh ...

  9. 【Makefile由浅入深完全学习记录5】预定义变量的使用

    今天学习Makefile预定义变量的使用,加qq:1126137994.微信:liu1126137994一起学习更多技术!!! 1.预定义变量:自动变量 在Makefile中存在一些预定义过的变量,我 ...

  10. CMake 常用的预定义变量

    CMake 常用的预定义变量 PROJECT_NAME : 通过 project() 指定项目名称 PROJECT_SOURCE_DIR : 工程的根目录 PROJECT_BINARY_DIR : 执 ...

最新文章

  1. [BZOJ1602] [Usaco2008 Oct] 牧场行走 (LCA)
  2. windows mobile 软件_三星两款新软件曝光,使智能手机和电视更好交互
  3. 冰刃初步使用图解(Win7 64位)
  4. 扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎心了
  5. Java黑皮书课后题第8章:**8.12(金融应用:计算税款)使用数组重写程序清单3-5,每个纳税人身份都有6种税率。每种税率都应用在某个特定范围内的可征税收入
  6. SpringBoot使用外置的Servlet容器
  7. 关于遍历字典的二三事
  8. PHP判断手机横向,H5横竖屏检测的方法
  9. 使用Dism++和Dism为优启通08PE添加驱动
  10. 深入理解JVM虚拟机笔记——类加载机制
  11. IBM p720 在HMC上创建分区并安装AIX系统
  12. 关于秒杀的细节,了解多少
  13. 不定积分问题:1/x^3+1的不定积分求法
  14. 机器人操作空间轨迹规划 -- 姿态规划
  15. 【通俗易懂】机器学习中 L1 和 L2 正则化的直观解释
  16. 没固定公网 IP 的公司内网实现动态域名解析( 阿里云万网解析 )
  17. 研发人员必须具备的三颗“心”
  18. matlab画动物轮廓图,MATLAB一维插值的应用实例—画左右手的轮廓图
  19. 第四次产业革命源于人工智能(趋势解读20k字)
  20. 【错误汇总】PYTHON开发

热门文章

  1. 02 Toolbar的使用
  2. 自定义吐司Toast小进阶
  3. 后台的Activity被系统回收怎么办?
  4. Delphi开发经验谈
  5. matlab 乱七八糟求最大值~
  6. 分析师:网易游戏占营收91% 已成游戏公司
  7. [转]VS .NET 2005中水晶报表的打包部署
  8. java long类型6_Java学习6——基本数据类型及其转换
  9. Linux 设备驱动的固件加载-转载
  10. 编程基础(三)——体系结构