开始php脚本,PHP基础(一)

搭建好PHP开发环境之后就可以正式开始PHP语言学习了。

一、PHP语言的历史

最初的PHP可以追溯到1995年,程序员Lerdorf开发了一个Perl/CGI 脚本,用来记录访问他在线简历的客户数量。这个脚本执行两项任务,将访问者信息记入日志,在网页显示访问者数量。以今日都眼光来看,这两个任务都不是什么高大上的效果,但那是1995年,一个Web世界还没有发展起来都时期。由于很多人对这个脚本都非常感兴趣,Lerdorf就在互联网上发布他的这个脚本,并称之为Personal Home Page,简称PHP。

PHP脚本非常受欢迎,Lerdorf开始增加PHP的功能,比如把HTML表单中输入的数据转换为符号变量,从而可以将数据导出到其他系统。为此,Lerdorf选用C语言进行后续开发。直到1997年11月,PHP2发布,被称为个人主页/表单解释器(PHP/FI)。

一个核心开发团队加入Lerdorf的开发中,重新编写了解析引擎,并在1998年6月发布PHP3。

核心团队开发人员(Zeev和Andi)彻底重新考虑PHP的工作方式,最终改写了PHP的解析器,即Zend脚本引擎,这个脚本引擎随PHP4在2000年5月发布。在PHP的历史中,PHP4是第一个巨大的质的飞跃,从此PHP开始支持面向对象。

2004年发布的PHP5是PHP的另一座分水岭,它从2005年开始与PHP6同时开发,但由于原先预定在PHP6中发布的大部分功能都被集成在来PHP5.X版本中,所以最终PHP6没有正式发布。

经过稳定开发十多年后,2015年PHP7发布。据WordPress项目组统计,PHP7在性能上比PHP5.6高2.3倍左右。64位

二、PHP基础

在Web页面中嵌入PHP代码:

PHP最大的优点就是可以把PHP代码直接嵌入到HTML页面中。

e5685eab27d0bf230395aad2098065ef.png

整个php文件首先被Apache服务器中配置的PHP引擎进行解析,然后生成相应的HTML结果传回给浏览器。如果PHP引擎对php文件中每一行代码都进行解析,那么效率会非常低下。因此,PHP引擎需要一种方法来确定,那些提交过来的代码是需要进行解析的。

PHP提供4种标记风格界定PHP代码:

默认语法:

默认的标记语法以<?php开头 ,以?>结尾,例如:

echo "Hello World";

?>

这是最常见的标记语法,它的兼容性最好,可以在所有的服务器环境中使用,而且XML嵌入PHP时必须使用这种标记,所以,推荐使用默认标记语法。

短标记

短标记以<?开始 ,以?>结尾,例如:

echo "Hello World";

?>

在这种标记语法中,省略了“php”关键字,使得标记更短,但是PHP配置默认禁止使用短标记,如要启用,需要在php.ini配置文件中设置short_open-tag以启用短标记,不建议使用。

脚本标记

PHP还支持传统的脚本标记,即

echo "Hello World";

ASP风格标记

从PHP5.3版本开始ASP风格标记已不再支持,仅做了解。

echo "Hello World";

%>

为PHP代码添加注释

在任何编程语言都学习中,注释都应该是优先掌握的语法知识。书写好的注释,是学习的好方法。在PHP代码中,支持单行和多行注释。

单行C++注释

这种注释不会超过一行,跟随在注释符号“//”之后的内容都被PHP引擎忽略不参与解析。

echo "Hello World";//我是注释不要理我

?>

单行shell注释

PHP同时还支持linux的shell风格注释。

echo "Hello World";

#我是注释不要理我

?>

多行C注释

当某些较复杂的注释内容需要跨越多行代码的时候就必须使用多行注释,PHP语言支持C语言风格的多行注释。多行C注释以/*开始,以*/结束,在两个标记之间都内容无论跨越多少行都会被PHP引擎忽略解析。

echo "Hello World";

/*我是

注释不要

理我*/

?>

向浏览器输出数据

PHP代码在服务器中解析完成后,解析结果将被传回浏览器进行显示,在解析结果中,可以通过PHP函数明确哪些数据将要被输出显示在浏览器中。

常用的输出数据的函数有:print( ) 、echo( )

print( )函数

print( )函数将括号中的参数直接输出到浏览器中。

print("Hello World");

?>

echo( )函数

echo( )函数将括号中的参数直接输出到浏览器中。

echo("Hello World");

?>

print( ) 和echo( )函数都可以直接向浏览器输出数据。按照正式的语法格式,在函数之后应该将参数放置在括号中,但在实际使用的时候,print( ) 和echo( )函数都括号是可以省略的,并不影响输出。这是因为从技术上讲,print( ) 和echo( )都不是函数,而是一个语言结构。

print( ) 和echo( )相比,那个输出的效率更高?答案是echo,因为print有返回值。但不要被print的返回值迷惑,因为不管输出是否成功,print都会返回1。

PHP支持的数据类型

数据类型是具有一组相同特性的数据的统称。PHP支持的数据类型有:整型、浮点型、字符串型、布尔型和数组、对象。

整型、浮点型、字符串型、布尔型被称为标量数据类型,此类型的变量只能表示单项信息,即只能存储一个数据。

数组、对象被称为被称为复合数据类型,此类型都变量可以将多个相同类型的数据聚集起来,表示为一个实体。

1.整型

整型变量的值是整数,表示范围与系统平台和PHP版本相关(32个1或者0),对于PHP5及以前版本,整型变量范围为±231,PHP7支持64位整型,所以可以表示±263。

PHP的整型支持十进制、八进制(0开头)和十六进制(0x开头)。但在输出时都已十进制形式显示。

2.浮点型

浮点型表示数值的小数部分,包括单精度数(float)、双精度数(double)和实数(real number)。

3.字符串型

字符串string的值是一系列字符序列。这些字符序列通常用单引号或双引号界定。

$a = "我是双引号字符串";

$b = '我是单引号字符串';

echo $a;

echo $b;

?>

需要引起注意的是,在PHP中,单引号和双引号界定的字符串是有区别的。字符串中若包含有变量名,双引号中的变量名会输出对应的变量值,单引号中则原样输出变量名。

补充:在PHP中,字符串其实是被作为数组处理的,所以可以用数组的索引方式访问字符串中的字符。

4.布尔型

布尔数据类型是以数学家乔治·布尔命名的,他被认为是信息论之一的创始人之一。布尔型数据只包含两个数值:TRUE和FALSE。

5.数组和对象

这两种复合数据类型稍微复杂,后续专门讲解。

PHP中的数据类型转换

强制转换

将变量强制转换为与原数据类型不同都另一种类型,称为数据类型强制转换。

这种转换与C语言类型的转换是相同的:在要转换的变量前面加上用括号括起来的目标类型。

PHP允许的强制转换如下:

(int),(integer):转换成整型。

(string):转换成字符串型。

(float),(double),(real):转换成浮点型。

(bool),(boolean):转换成布尔型。

(array):转换成数组。

(object):转换成对象。

(unset):转换为NULL。

(binary),b前缀:转换为二进制字符串。

自动转换

因为PHP是弱类型的,所以变量的数据类型会根据变量保存的数据自动变化数据类型。

与数据类型相关的函数

gettype( )函数,用于获取变量的数据类型,共有8个可能的返回值:array、boolean、double、integer、object、resource、string和unknow type。

settype( )函数,用于数据类型强制转换。函数接收两个参数,第一个参数是需要转换的变量,第二个参数是指定的数据类型,共有7种允许的参数值:array、boolean、double、integer、object、resource和string。

var_dump( )函数,用于获取变量的信息,如数据类型、值。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值