设为首页 收藏本站
查看: 1243|回复: 0

[经验分享] 一、那些PHP不得不说的事。

[复制链接]

尚未签到

发表于 2017-12-29 12:30:33 | 显示全部楼层 |阅读模式
  三个月就这么悄悄溜走了,本K对于前端虽然有了一定的认识,但对一些方面还是处于一种比较萌币的状态,就在这种萌币状态下,本K又跟着大神浩开始了后台语言—PHP语言的学习。PHP的学习对于学过其他语言的人来说,是非常easy的(原因后续会提及),K在初次接触的时候也就仅仅是对一些PHP的写法有点膈应而已......不多说废话了,下面就由本K带着同志们瞅瞅PHP到底是啥。
一、那些PHP不得不说的事。
DSC0000.png

  Hypertext Preprocessor,又称为超文本预处理器(HTML为超文本标签语言,这里敲黑板...),就是我们所说的PHP。它是一种糅杂百家的后台语言,在PHP中,可以见到C、Java等语言的写法和它自创的一些写法,这也就是为什么说学过其他语言的人会比较容易接受PHP。
  至于现如今PHP的版本问题,我们现在常用的是5.3.10版本及以上版本,别问我为啥,就算问我我也不会告诉你原因是这个版本兼容性好的!
  再者,开发PHP会需要一定的开发环境,我们现在经常用的是wamp(Windows + Apache + MySql + PHP),其他诸如Lamp(Linux + Apache + MySql + PHP)、PHPStudy、APPServer等,也是经常用的,在开发环境的选择上,在兼顾自己工作需求的情况下,当然是萝卜青菜、各有所爱啦。
  最后,提一下PHP的兼容性问题。PHP几乎可以链接所有的数据库,并友好的兼容支持各种操作系统,所以说,PHP能够火起来也是在情理之中的。
二、初识PHP。
  聊了这么多,PHP文件到底长啥样呢?咱们来看图说话~
DSC0001.png

  这就是我们最常见到的php文件结构,K来给大家讲讲结构从上到下都是些啥。
DSC0002.png 这个是php文件或段落开始的标志,象征着一个php脚本从这里开始;

DSC0003.png 这句话是为了使php脚本中的中文能够正常显示,所添加的header;

  主体部分就不啰嗦了,后面会讲到;
DSC0004.png 这个是php脚本的结束,在某些情况下是可以省略掉的,后面K会细讲。

  除上面大家看到的这种结构以外,php脚本还可以有很多写法,但这里K就不讲了,因为其他几种写法不然就是回合系统起冲突,不然就是不推荐使用,K觉得还是先研究透彻这一种写法,在去琢磨其他吧。
三、正儿八经说PHP — 入门篇
(一)PHP中的指令分隔符 — ;
  这一点是学过JS的同志们最容易犯错误的一点,这里着重给大家说一下;的使用注意事项!(敲黑板......)
  1、PHP中的结构定义语句,不需要使用分号结尾,分支、循环、类、函数等}结尾的。
  2、PHP中的功能执行语句,不用}结尾的,必须使用分号结尾。
  3、特例:最后结束标记?>前的最后一条语句,可以省略分号。
(二)PHP中的注释
  PHP中的注释有四种,自己瞅图~
DSC0005.png

(三)PHP中的变量
  1、PHP中的变量。声明与使用,必须用$开头。
  2、PHP是一种弱类型预言,变量其实并不需要声明,可以直接给变量赋任何类型的值。
  3、PHP中可以使用连等同时声明多个变量。而不能使用,分隔
  >>>例如:$num1=$num2=$num3=$num4=5;
  4、常用变量函数:
  4.1 unset(); 删除并释放变量;
  4.2 isset(); 检测变量是否设置;
  4.3 empty(); 检测变量是否为空(未设置或值为null都为空)。
  5、变量的命名:只能由字母数字下划线组成,开头不能为数字。
  >>> 而且,PHP中变量区分大小写!
  >>> 但是,PHP内置函数或者类名不区分大小写!
  6、PHP中的数据类型(八种)(敲黑板......)
  6.1 四种标量类型:布尔型Boolean、 整形Integer、 浮点型Float/Double、 字符串String
  6.2 两种符合类型:数组Array、 对象Object
  6.3 两种特殊类型:资源Resource、 空null
  7、整形的范围:从-2^31~(2^31-1)超过这个范围,自动转为浮点型。
(四)PHP中的字符串
  PHP支持三种方式声明字符串:
  1、'':单引号
  2、"":双引号
  3、<<<:定界符 $str = <<< s(定界标识符)      
  //定界符声明字符串,通过<<<(定界标识符)开始
  //遇到顶格的定界标识符结束,一个空格都不能有
  //定界标识符可以是任意字母,只需要保证开始和结束一致即可
  s(顶格的定界标识符);
  4、三种声明方式的区别:
  4.1 定界符功能默认与双引号相同。
  4.2 单引号中不能解析变量;双引号可以解析变量。
  >>> 双引号解析变量时,需注意变量名后需用空格与其他字符分隔,或者用{}包裹起来 "hahaha${num}hahaha" "hahaha{$num}hahaha"均可。
  4.3 单引号中可以放双引号;双引号中可以放单引号。但是不能放自身相同类型的引号。
  4.4 单引号中不能使用转义字符(除了单引号''本身,转义符\本身);双引号中可以使用转义字符。
(五)PHP中的伪类型
  伪类型:并不是一种真实存在的数据类型。它的存在仅仅是告诉程序员可以是哪些、哪种数据类型,常用于撰写帮助文档时使用。
  mixed:代表参数可以是多种不同数据类型;
  number:代表参数可以使Integer或者Float;
  callback:代表参数可以是一个回调函数。
  (六)PHP中的数据类型转换
  1、自动类型转换:表示运算的时候,Boolean、null、String等类型,会先自动转为int和Float类型
  null --> 0 true --> 1  false --> 0
  string --> 第一个非数值字符前的数字,没有转为0  "123a" --> 123
  2、强制类型转换,根据自己的需求,强制将变量转为其他类型的变量:
  2.1 $新变量 = (新类型)$原变量
  >>> $str = (String)1;
  新类型可以使用全拼,也可以使用缩写
  可以强制转换的类型如下:
  (int),(integer) - 转换成整型
  (bool),(boolean) - 转换成布尔型
  (float),(double),(real) - 转换成浮点型
  (string) - 转换成字符串
  (array) - 转换成数组
  (object) - 转换成对象
  2.2 使用setType()函数强转
  bool setType(mixed var,String type);第一个参数表示任何类型的变量,另一个参数表示字符串类型的数据类型
  2.3 两种转换的区别
  第一种是将转换之后的结果赋给新变量;
  第二种直接修改了原变量的数据类型。
(七)PHP中的判断变量类型的测试函数(崩溃状......)
  is_bool():判断是否是布尔型
  is_int()、is_integer()和is_long():判断是否为整型。
  is_float()、is_double()和is_real():判断是否为浮点型
  is_string():判断是否为字符串
  is_array():判断是否为数组
  is_object():判断是否为对象
  is_resource():判断是否为资源类型
  is_null():判断是否为null
  is_scalar():判断是否为标量
  is_numeric():判断是否是任何类型的数字和数字字符串
  is_callable():判断是否是有效的函数名
(八)PHP条件判断中算作false的情况(敲黑板......)
  1、Boolean:false
  2、Integer:0
  3、Float:0.0
  4、String: "" "0"   ("0.0" "000" 都算对!只有一个0算错!)
  5、空Array
  6、空Object仅在PHP4算false,其他版本对象都算TRUE
  7、null和尚未定义的变量都算错
  8、所有资源都算对!!!!!(除PHP4,所有对象也算对 )
(九)PHP中的常量(要坚强......)
  1、常量的定义
  bool define(String 常量名,mixed 常量值[,bool 是否区分大小写]);
  2、常量的注意事项
  2.1 常量定义只能使用define函数
  2.2 常量名原则上要求必须使用大写声明。而且必须不能带$符号
  2.3 常量声明以后,默认全局范围有效,没有作用域之说
  2.4 常量不但不能改,而且不能删,unset()、setType()等函数均无效
  2.5 常量默认区分大小写,但是可以在声明常量时,将define第三个参数设为true即可改为不区分大小写,但是原则上不改
  2.6 常量必须使用define()定义后才能使用,如果使用未声明的常量,则会将常量名转为常量字符串,但是会报警告
  2.7 常量的值只能是标量
  3、可以使用constant读取常量的值,注意用""包裹常量名
  可以使用get_defined_constants();获取所有已定义常量,包括系统自定义的n多个常量
  就先给大家介绍这些小基础,欲知后事如何,请......点赞
DSC0006.png

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-429325-1-1.html 上篇帖子: Node.js和PHP运行机制对比 下篇帖子: php断点调试工具
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表