PHP非空格式,PHP学习第一课

15793874_201706081641000080612889.jpg

新书终于来了,先看前言。本书提供PHP从入门到高手的各类知识,共4篇:

第一篇:基础知识。介绍PHP及其环境搭建、开发工具,语言基础、流程控制、字符串操作、数组、与WEB交互、与JavaScript交互、日期、时间等内容,为以后奠定坚实基础。

第二篇:核心技术。介绍Cookie、Session、图形图像处理、文件系统、面向对象、加密技术、操作MySQL、phpMyAdmin图形化管理工具、PDO数据库抽象层、ThinkPHP框架等内容。学完后能开发数据库应用程序和一些中小型热点模块。

第三篇:高级应用。介绍Smarty模板技术、与XML、与Ajax等内容。学完后可开发网络程序。

第四篇:项目实战。第一个项目通过Smarty模板技术、PDO数据库抽象层、Ajax等主流技术实现一个大型完整的商务平台,同时运用软件工程设计思想,让读者学习如何进行网站实践开发。第二个项目通过ThinkPHP框架开发一个导航网,该项目运用软工设计思想中最流行的MVC设计观念,读者学习后可了解网站导航开发流程,掌握ThinkPHP框架开发网站流程及常用技术。

第一章:初识PHP

PHP是一种服务器端HTML嵌入式脚本描述语言,最强大和重要的特性是跨平台和面向对象。本章简单介绍PHP和PHP5新特性、PHP发展趋势及学习方法,使读者对PHP有一个整体了解。

1、什么是PHP:PHP独特的语法混合了C、JAVA、PERL特点,尤其适合WEB开发。

2、语言优势:安全性高,是开源软件,每个都可以看到源代码,代码与Apache编译在一起的方式可以让它具有灵活的安全设定,具有公认的安全性能;跨平台性,支持Apache、Nginx、IIS等多种WEB服务器;支持广泛数据库,与MYSQL是目前最佳组合,组合可跨平台运行;易学性;执行速度快;免费;模板化,实现程序逻辑与界面分离;支持面向对象与过程,并可向下兼容;内嵌Zend加速引擎,性能稳快。

3、PHP5新特性:构造函数、析构函数;对象的引用;对象的克隆;对象中有三种模式public\protected\private;接口interface;抽象类;_call;_set和_get;静态成员。

4、如何学好:

5、学习资源:

5.1、常用开发工具:Dreamweaver\ZendStudio\PhpStorm\Notepad++\EditPlus等。

5.2、下载PHP用户手册:

5.3、常用网上资源:官网、技术论坛

第二章:PHP环境搭建和开发工具

本书以WampServer集成环境介绍PHP服务器的安装、配置。

我的机器安装失败,先不管了,往下学。

第三章:PHP语言基础

1、标记风格

XML风格

echo "这是一个PHP";

?>

脚本风格

echo '...........';

简短风格

echo '............'; ?>

ASP风格

echo '...........';

%>

若需使用简短和ASP风格,需在php.ini中配置,打开该文件将short_open_tag和asp_tags设置为On,重启Apache服务器即可。通常使用XML风格。

2、注释应用

3、PHP数据类型

支持8种原始类型,包括4种标量类型:boolean、integer、float/double、string;2种复合类型:array、object;2种特殊类型:resource、null。

说明:PHP中变量的类型通常不是由程序员设定的,是PHP根据该变量使用的上下文在运行时决定的。

3.1标量数据类型:它是数据结构中最基本的单元,只能存储一个数据。包括4种:

boolean、string、integer、float

3.11、布尔型boolean:PHP中不只是只有FALSE才是假,特殊情况下0、00、“0”、空白字符串“”、只声明但没有赋值的数组等也认为是false。

PHP中美元符号$是变量的标识符,所有变量都以$开头,无论是声明变量还是调用。

3.12、字符串型string:由数字、字母和符号组成,每个字符占一个字节。PHP中有三种字符串字义方式,分别是单引号、双引号、定界符(<<

单引号:

$a='this is string';

?>

双引号:

$a="this is string";

?>

两者不同之处:双引号中的变量会自动被替换成实际数值,单引号中的变量则按普通字符串输出。

定界符:不推荐使用,没什么毛意思。

实例:

15793874_201706082316300955363911.png

15793874_201706082316300986193714.png

从上例可以看出什么?我是什么也没看出来,实在看不出来单引号与双引号的区别。但是本书建议在定义简单的字符串时,使用单引号是一个更加合理的方式。原因是使用双引号时,PHP将花费一些时间来处理字符串的转义和变量的解析。

3.13、整型integer:数据类型只包含整数,有效范围-2147483648至+2147483647。若给定数值超过范围按float型处理,这种情况叫整数溢出。同样两数相加超过范围自动返回float型。

3.14、浮点型float:用来储存数字,可包存小数,有效范围1.7E-308至17E+308,4.0版本前,浮点型标识为double,两者无区别。圆周率写法实例:

15793874_201706082334210674753828.png

15793874_201706082334210689410875.png

哎,后两种写法出错,这本书怎么回事。上例中可以看出 . 符号是连接字符串与变量的作用。

书中有段话很有意思:“注意:浮点型的数值只是一个近似值,所以要尽量避免用两个浮点型数值比大小,结果往往是不准确的。”

3.2复合数据类型:数组array和对象object

3.21数组array:一组数据的集合,把一系列数据组织起来形成一个可操作的整体。可以包括标量数据、数组、对象、资源及PHP中支持的其它语法结构等。数组中的每个数据称为一个元素,元素包括索引(键名)和值两部分。元素的索引可由数字或字符串组成,值可以是多种数据类型。格式如下:

$array=array('value1','value2'...);

$array[key]='value';

$array=array(key1=>value1,key2=>value2...);

来个实例试一下:

声明数组后,数组中的元素还可自由更改。只要给数组赋值,数组会自动增加长度。

3.22对象object:编程语言所用到的方法有两种,面向过程和面向对象,在PHP中可自由使用这两种方法。

3.3特殊数据类型:

3.31资源resource:资源类型是PHP4引进的,在使用资源时,系统会自动启用垃圾回收机制,释放不再使用的资源,避免内存消耗殆尽。因此资源很少需要手工释放。

3.32空值null:表示没有为该变量设置任何值。不分大小写null与NULL是一样的,实例代码:

15793874_201706090018090596303342.png

15793874_201706090018140361596298.png

上例看出isset()方法判断变量是否被设置,如果设置返回true,反之返回false;is_null()方法正好相反,如果该变量没有设置返回true,否则返回false;unset()方法用来销毁指定的变量,从PHP4开始unset()函数不再返回值,所以不要试图获取或输出unset()。

3.4数据类型转换:虽然PHP是弱类型语言,但有时也会用到类型转换。PHP类型转换与C、JAVA一样,只需在变量前加上用括号括起来的类型名称即可。有几点需要注意:转换成boolean类型时,null、0和未赋值的变量或数组会被转换成false,其它为true;转换成整型时,false转换为0,true转换为1,浮点型的小数被舍去,字符型如果以数字开差就载取到非数字位,否则输出0。

类型转换有一个函数settype($string,数据类型),将指定变量转换成指定数据类型,同时返回值,成功返回true,否则false。看个实例,学习的过程中,不亲自动手写写真的不行。

15793874_201706090047060471661758.png

15793874_201706090047060471469897.png注意:使用(integer)str1转型时,str1的自身值没有变化;使用settype()函数时,str1的自身值被修改了。在实际应用中,可根据情况自行选择转换方式。

3.5检测数据类型:PHP内置了检测数据类型的系列函数,可对不同类型的数据进行检测,判断是否属于某个类型,属于返回TRUE,否则返回FALSE。8个函数,选is_numeric()试一下吧:

15793874_201706090057260627617745.png

15793874_201706090057260642445598.png

4、声明和使用常量:常量是值不变的量,常量值被定义后,在脚本的任何地方都不能改变。声明常量不能以数字作为首字母出现。PHP中使用define()函数来定义常量,语法如下:

define(string name,value,是否区分大小写);

第一个参数是常量名称,必选,可以是字符串或定义字符串的变量;第二个参数是常量值,必选;第三个参数可选,true表示不敏感。要判断一个常量是否已定义,可使用defined()函数,语法如下:

bool defined(name);

定义返回true,未定义返回false。

看实例:

15793874_201706090124580361528421.png

15793874_201706090124580361686344.png

使用defined()函数时,参数常量值记得加引号。是常量返回1,不是常量不返回值。

4.2预定义常量:PHP中可以使用预定义常量获取PHP中的信息,参考相关资料,不作介绍了。上个实例:

15793874_201706090134010971591218.png

15793874_201706090134010986191555.png

5、PHP变量:PHP4开始引入了“引用赋值”。敲个实例吧:

$a='hello php';

$b=& $a;

$a='hi php';

echo $a;

echo $b;

?>

上面代码输出$a和$b的值是一样的。

5.2变量作用域:分三种,局部变量、全部变量、静态变量。这里要说的是全局变量,跟其它语言不太一样,全局变量在函数内部使用时要使用global关键字声明。

$a='php';

function cc(){

$b='hello';

echo $b;

global $a;

echo $a;

}

?>

再上个静态变量的例子:

15793874_201706111021230939925280.png

15793874_201706111021230955355279.png

上例看出,静态变量的初始化只在第一次时被执行,以后就不再对其进行初始化操作了。

5.3可变变量:这个东东以后感觉有用了再来说

5.4PHP预定义变量:PHP提供了一些很实用的预定义变量,可通过这些获取用户会话、操作系统和本地系统的环境信息。常用的可参考相关资料

6、PHP的运算符:包括算术运算符、字符串运算符、赋值运算符、位运算符、逻辑运算符、比较运算符、递增、增减运算符和条件运算符。本节只介绍一些常用的:

6.1算术运算符:+-*/%

6.2字符串运算符:只有一个英文句号,表示将两个字符连接起来。

6.3赋值运算符:有7个:赋值=,加+=,减-=,乘*=,除/=,连接字符.=,取余数%=

6.4递增、递减运算符:

6.5位运算符:

6.6逻辑运算符:4个。逻辑与(&&或and),逻辑或(||或or),逻辑非(!),逻辑异或(xor,即当前、后一真一假时返回true);

6.7比较运算符:多了===、!==,恒等和非恒等。

6.8条件运算符:?: 也称三目运算符,实例如下:

15793874_201706120025400939775862.png

6.9运算符的优先级:遵循原则:优先高的运算先执行,优先级低的操作后执行,同级操作按照从左到右的顺序执行。

7、PHP的表达式:

8、PHP函数:函数就是将一些能够重复使用的代码写到一个独立的代码块中,在需要时单独调用。语法格式为:

function fun_name($str1,$str2...){

fun_body;

}

8.1定义和调用函数

8.2函数间传递参数:传递方式有3种,按值传递、按引用传递和默认参数。

按值传递方式:即将实参复制到对应的形参中,在函数内部针对形参进行,操作的结果不影响实参。这个很常见,不举例了。

按引用传递方式:引用传递是将实参的内存地址传递到形象中,这样在函数内部对形象的操作将影响到实参的值。引用传递方式就是传值时在原基础上加&即可。来个例子:

15793874_201706120043090502791566.png

15793874_201706120043090502122519.png

默认参数方式:即可选参数。需要注意的是当有多个参数时,可选的参数必须放在右边,否则容易出错。实例:

15793874_201706120046410330844428.png

15793874_201706120046410330774847.png

书上有个说明:PHP5开始,默认参数也可以通过引用传递。意思就是:如果默认参数是一个引用,那么有实参的话,默认的形参值跟随实参改变。

8.3从函数中返回值:通过返回值的方式是使用关键字 return。但如果是在全局作用域内使用return,那么将终止脚本的执行。

8.4变量函数:意义不大,不说了。

8.5编码规范:这个也不多说

9、PHP书写规则:

9.3命名规则:

类命名:1、使用大字母作为单词分隔;2、名字的首字母使用大写;3、不使用下划线;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值