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

一、那些PHP不得不说的事。

  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文件到底长啥样呢?咱们来看图说话~

  这就是我们最常见到的php文件结构,K来给大家讲讲结构从上到下都是些啥。

  这个是php文件或段落开始的标志,象征着一个php脚本从这里开始;

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

  主体部分就不啰嗦了,后面会讲到;

  这个是php脚本的结束,在某些情况下是可以省略掉的,后面K会细讲。

  除上面大家看到的这种结构以外,php脚本还可以有很多写法,但这里K就不讲了,因为其他几种写法不然就是回合系统起冲突,不然就是不推荐使用,K觉得还是先研究透彻这一种写法,在去琢磨其他吧。

三、正儿八经说PHP — 入门篇

(一)PHP中的指令分隔符 — ;

  这一点是学过JS的同志们最容易犯错误的一点,这里着重给大家说一下;的使用注意事项!(敲黑板......)

  1、PHP中的结构定义语句,不需要使用分号结尾,分支、循环、类、函数等}结尾的。
  2、PHP中的功能执行语句,不用}结尾的,必须使用分号结尾。
  3、特例:最后结束标记?>前的最后一条语句,可以省略分号。

(二)PHP中的注释

  PHP中的注释有四种,自己瞅图~

(三)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多个常量

  就先给大家介绍这些小基础,欲知后事如何,请......点赞

前端向后台的华丽转身 — PHP入门篇的更多相关文章

  1. 前端向后台的华丽转身 — PHP基础篇

    这一次,本K带大家来看一下关于PHP中数组.字符串的一些注意事项和函数(方法). 一.PHP中的数组 (一)PHP中的数组简介 数组类型是PHP两种复合数据类型之一.根据下标的不同,可以将PHP中的数 ...

  2. 我的这10年——从机械绘图 到 炼油 到 微软MVP 的华丽转身

    年底了,各种总结计划满天飞,有空的时候我也一直在思考这么多年,是怎么过来的.也曾经很迷茫,希望经验和经历能给大家一点带来一点正能量的东西.10年很长,10年前说实话我没有思考过现在的样子,但10年前的 ...

  3. 揭秘传智播客班级毕业薪资超7k的内幕系列之四----汽车工的华丽转身

         ---不是本科毕业?不是计算机专业?做过电子厂?做过数控?看传智中专生侃项目,"侃晕"项目经理.从流水线上华丽转身,8.5k高薪再就业      系列三承诺写写上海传智J ...

  4. IT咨询顾问:一次吐血的项目救火 java或判断优化小技巧 asp.net core Session的测试使用心得 【.NET架构】BIM软件架构02:Web管控平台后台架构 NetCore入门篇:(十一)NetCore项目读取配置文件appsettings.json 使用LINQ生成Where的SQL语句 js_jquery_创建cookie有效期问题_时区问题

    IT咨询顾问:一次吐血的项目救火   年后的一个合作公司上线了一个子业务系统,对接公司内部的单点系统.我收到该公司的技术咨询:项目启动后没有规律的突然无法登录了,重新启动后,登录一断时间后又无法重新登 ...

  5. 通过AngularJS实现前端与后台的数据对接(二)——服务(service,$http)篇

    什么是服务? 服务提供了一种能在应用的整个生命周期内保持数据的方法,它能够在控制器之间进行通信,并且能保证数据的一致性. 服务是一个单例对象,在每个应用中只会被实例化一次(被$injector实例化) ...

  6. 通过AngularJS实现前端与后台的数据对接(一)——预备工作篇

    最近,笔者在做一个项目:使用AngularJS,从而实现前端与后台的数据对接.笔者这是第一次做前端与后台的数据对接的工作,因此遇到了许多问题.笔者在这些问题中,总结了一些如何实现前端与后台的数据对接的 ...

  7. 1. web前端开发分享-css,js入门篇

    关注前端这么多年,没有大的成就,就入门期间积累了不少技巧与心得,跟大家分享一下,不一定都适合每个人,毕竟人与人的教育背景与成长环境心理活动都有差别,但就别人的心得再结合自己的特点,然后探索适合自己的学 ...

  8. 前端和后台对时间数值的增减操作(JavaScript和C#两种方法)

    最近在做一个视频回放项目,记录下一点总结. 应用背景: 假设有一个门禁系统记录着门禁的人员进出刷卡信息,门禁装有视频录像设备,现在要根据人员的刷卡时间调出其刷卡时间点前后一段时间的录像.关于视频回放部 ...

  9. C# 加密–RSA前端与后台的加密&解密

    1. 前言 本问是根据网上很多文章的总结得到的. 2. 介绍 RSA加密算法是一种非对称加密算法. 对极大整数做因数分解的难度决定了RSA算法的可靠性.换言之,对一极大整数做因数分解愈困难,RSA算法 ...

随机推荐

  1. 多云时代,海外微软Azure云与国内阿里云专线打通性能测试

    本文地址:http://www.cnblogs.com/taosha/p/6528730.html 在云计算的大时代,大型客户都有业务全球拓展的需求,考虑到成本,时间因素,一般都是选择云计算,现在云计 ...

  2. Unity3D 协程 浅谈

    协程 理解:协程不是线程,也不是异步执行(知道就行). 1.协程和MonoBehaviour的Update函数一样,也是在MainThread中执行的(一定得明白这句话意思). void Start ...

  3. Linux配置tomcat (centos配置java环境 tomcat配置篇 总结三)

    ♣下载安装tomcat7 ♣设置启动和关闭 ♣设置用户名和密码 ♣发布java web项目 声明:这篇教程是建立在前两篇教程的基础上的,所以,还没安装工具和jdk,可以先看这个系列的前面两篇(去到文末 ...

  4. 腾讯AlloyTeam正式发布Canvas魔幻线条 - curvejs

    [原文链接] ## 写在前面 curvejs 中文读["克js"],是腾讯AlloyTeam打造的一款魔幻线条框架,让线条成为一名优秀的舞者,让线条们成为优秀的舞团,HTML5 ...

  5. 【算法】字符串匹配之Z算法

    求文本与单模式串匹配,通常会使用KMP算法.后来接触到了Z算法,感觉Z算法也相当精妙.在以前的博文中也有过用Z算法来解决字符串匹配的题目. 下面介绍一下Z算法. 先一句话讲清楚Z算法能求什么东西. 输 ...

  6. 【lucene系列学习】排序

    用lucene3实现搜索多字段并排序功能(设置权重)    

  7. 如何解决 chrome 58 版本更新导致的 fiddler https 抓包不可用问题

    注意!如果该方法不生效,请先卸载原有 fiddler 后再进行新版本 fiddler 安装步骤即可. chrome 于(上周?上上周?)推送了chrome 58 版本的更新,这次更新中直接去掉了证书未 ...

  8. fstream 学习

    #include <fstream> 引用:http://blog.csdn.net/qiang60125/article/details/5949750(fstream 常用方法详解) ...

  9. CSS清除浮动各种方法

    当容器的高度为auto,且容器的内容中有浮动(float为left或right)的元素,在这种情况下,容器的高度不能自动伸长以适应内容的高度,使得内容溢出到容器外面而影响(甚至破坏)布局的现象.这个现 ...

  10. Android获取状态栏高度、标题栏高度、编辑区域高度

    一.Activity界面的划分 简单说明一下(上图Activity采用默认Style,状态栏和标题栏都会显示):最大的草绿色区域是屏幕界面,红色次大区域我们称之为"应用程序界面区域" ...