前端向后台的华丽转身 — PHP入门篇
三个月就这么悄悄溜走了,本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入门篇的更多相关文章
- 前端向后台的华丽转身 — PHP基础篇
这一次,本K带大家来看一下关于PHP中数组.字符串的一些注意事项和函数(方法). 一.PHP中的数组 (一)PHP中的数组简介 数组类型是PHP两种复合数据类型之一.根据下标的不同,可以将PHP中的数 ...
- 我的这10年——从机械绘图 到 炼油 到 微软MVP 的华丽转身
年底了,各种总结计划满天飞,有空的时候我也一直在思考这么多年,是怎么过来的.也曾经很迷茫,希望经验和经历能给大家一点带来一点正能量的东西.10年很长,10年前说实话我没有思考过现在的样子,但10年前的 ...
- 揭秘传智播客班级毕业薪资超7k的内幕系列之四----汽车工的华丽转身
---不是本科毕业?不是计算机专业?做过电子厂?做过数控?看传智中专生侃项目,"侃晕"项目经理.从流水线上华丽转身,8.5k高薪再就业 系列三承诺写写上海传智J ...
- IT咨询顾问:一次吐血的项目救火 java或判断优化小技巧 asp.net core Session的测试使用心得 【.NET架构】BIM软件架构02:Web管控平台后台架构 NetCore入门篇:(十一)NetCore项目读取配置文件appsettings.json 使用LINQ生成Where的SQL语句 js_jquery_创建cookie有效期问题_时区问题
IT咨询顾问:一次吐血的项目救火 年后的一个合作公司上线了一个子业务系统,对接公司内部的单点系统.我收到该公司的技术咨询:项目启动后没有规律的突然无法登录了,重新启动后,登录一断时间后又无法重新登 ...
- 通过AngularJS实现前端与后台的数据对接(二)——服务(service,$http)篇
什么是服务? 服务提供了一种能在应用的整个生命周期内保持数据的方法,它能够在控制器之间进行通信,并且能保证数据的一致性. 服务是一个单例对象,在每个应用中只会被实例化一次(被$injector实例化) ...
- 通过AngularJS实现前端与后台的数据对接(一)——预备工作篇
最近,笔者在做一个项目:使用AngularJS,从而实现前端与后台的数据对接.笔者这是第一次做前端与后台的数据对接的工作,因此遇到了许多问题.笔者在这些问题中,总结了一些如何实现前端与后台的数据对接的 ...
- 1. web前端开发分享-css,js入门篇
关注前端这么多年,没有大的成就,就入门期间积累了不少技巧与心得,跟大家分享一下,不一定都适合每个人,毕竟人与人的教育背景与成长环境心理活动都有差别,但就别人的心得再结合自己的特点,然后探索适合自己的学 ...
- 前端和后台对时间数值的增减操作(JavaScript和C#两种方法)
最近在做一个视频回放项目,记录下一点总结. 应用背景: 假设有一个门禁系统记录着门禁的人员进出刷卡信息,门禁装有视频录像设备,现在要根据人员的刷卡时间调出其刷卡时间点前后一段时间的录像.关于视频回放部 ...
- C# 加密–RSA前端与后台的加密&解密
1. 前言 本问是根据网上很多文章的总结得到的. 2. 介绍 RSA加密算法是一种非对称加密算法. 对极大整数做因数分解的难度决定了RSA算法的可靠性.换言之,对一极大整数做因数分解愈困难,RSA算法 ...
随机推荐
- 多云时代,海外微软Azure云与国内阿里云专线打通性能测试
本文地址:http://www.cnblogs.com/taosha/p/6528730.html 在云计算的大时代,大型客户都有业务全球拓展的需求,考虑到成本,时间因素,一般都是选择云计算,现在云计 ...
- Unity3D 协程 浅谈
协程 理解:协程不是线程,也不是异步执行(知道就行). 1.协程和MonoBehaviour的Update函数一样,也是在MainThread中执行的(一定得明白这句话意思). void Start ...
- Linux配置tomcat (centos配置java环境 tomcat配置篇 总结三)
♣下载安装tomcat7 ♣设置启动和关闭 ♣设置用户名和密码 ♣发布java web项目 声明:这篇教程是建立在前两篇教程的基础上的,所以,还没安装工具和jdk,可以先看这个系列的前面两篇(去到文末 ...
- 腾讯AlloyTeam正式发布Canvas魔幻线条 - curvejs
[原文链接] ## 写在前面 curvejs 中文读["克js"],是腾讯AlloyTeam打造的一款魔幻线条框架,让线条成为一名优秀的舞者,让线条们成为优秀的舞团,HTML5 ...
- 【算法】字符串匹配之Z算法
求文本与单模式串匹配,通常会使用KMP算法.后来接触到了Z算法,感觉Z算法也相当精妙.在以前的博文中也有过用Z算法来解决字符串匹配的题目. 下面介绍一下Z算法. 先一句话讲清楚Z算法能求什么东西. 输 ...
- 【lucene系列学习】排序
用lucene3实现搜索多字段并排序功能(设置权重)
- 如何解决 chrome 58 版本更新导致的 fiddler https 抓包不可用问题
注意!如果该方法不生效,请先卸载原有 fiddler 后再进行新版本 fiddler 安装步骤即可. chrome 于(上周?上上周?)推送了chrome 58 版本的更新,这次更新中直接去掉了证书未 ...
- fstream 学习
#include <fstream> 引用:http://blog.csdn.net/qiang60125/article/details/5949750(fstream 常用方法详解) ...
- CSS清除浮动各种方法
当容器的高度为auto,且容器的内容中有浮动(float为left或right)的元素,在这种情况下,容器的高度不能自动伸长以适应内容的高度,使得内容溢出到容器外面而影响(甚至破坏)布局的现象.这个现 ...
- Android获取状态栏高度、标题栏高度、编辑区域高度
一.Activity界面的划分 简单说明一下(上图Activity采用默认Style,状态栏和标题栏都会显示):最大的草绿色区域是屏幕界面,红色次大区域我们称之为"应用程序界面区域" ...