PHP基础(零)
总阅读次
2016-4-1 周五-下午
PHP入门(零)
PHP功能
- 运行在服务器端,用来处理在服务器的数据的脚本语言。Hypertext Preprocessor,中文名:超文本预处理器
基本语句
- echo输出语句(字符串应用双引号括起来)
1
2
3
4
5echo "Hello world!";
//或者
echo 'HI,takethat!';
echo 'Hi'.'takethat!';
//在php中字符串连接符是用点(.)来表示的,这一点比较特殊,其它语言中是用加号(+)来表示的,比如:JavaScirpt、Asp、C。 - 简单运算
1
echo 12*3;
会输出36
- 变量:临时储存数据便于使用,一个变量通常只能储存一个值除非是复合变量。会输出:
1
2
3
4
5
6
7
$var="你好,PHP!";
echo $var;
echo "<br />";
$var="好好学PHP";
echo $var;1
2你好,PHP!
好好学PHP - 定义变量:定义变量就是向服务器的内存,申请空间用来储存数据。这时候需要使用变量名和变量值(需要被储存的东西);
1
2
3
4
5
6
7
$var_name = "苹果";
$n =10;
var_dump($var_name);
echo "<br/>";
var_dump($n);
输出:
1 | string(6) "苹果" |
1 | 备注:变量名必须用 $来标识;var_name为变量名; |
如:
1 |
|
将会输出:
1 | 我的小写的book |
- 变量的数据类型:在变量中,由于变量占用的空间单元不一样(占的地盘大小不一样),也分成几种数据类型;以通过使用“memory_get_usage”获取当前PHP消耗的内存。例如:会输出:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
echo $m1 = memory_get_usage();
echo "<br />";
$var_string = "123";
echo $m2 = memory_get_usage()-$m1;
echo "<br />";
$n=123;
echo $m3 = memory_get_usage()-$m1-$m2;
echo "<br />";
$f=123.00;
echo $m4 = memory_get_usage()-$m1-$m2-$m3;
echo "<br />";
$var_array = array("123");
echo $m5 = memory_get_usage()-$m1-$m2-$m3-$m4;1
2
3
4
5217672
320
272
272
576注意:根据操作系统、PHP版本以及PHP的运行方式可能输出结果会不同。
PHP数据类型
PHP变量数据类型,PHP支持8种原始数据类型,其中包括4种标量类型,2种复合类型和2种特殊类型。PHP是松散类型语言,不必向PHP声明变量的数据类型,PHP会自动将变量转化为自动的数据类型。
- 布尔类型(boolean):只有两个值,一个是TRUE,另一个FALSE;(需要注意的是,当我们用”echo”指令输出布尔类型时,如果是“true”则输出的是“1”,“false”则什么也不输出。我们可以使用“var_dump”函数,获取它真正的数据类型。)
例如:
1 |
|
将会输出
1 | 1 |
- 整型(integer):类似于常见的整数。它可以用十进制、八进制、十六进制指定。(八进制,数字前必须加上数字“0”;十六进制,数字前必须加“0x”)
例如:
1 |
|
将会输出:
1 | 123 |
- 标量类型—浮点型:浮点型(浮点数、双精度数或实数),也就是通常说的小数,可以用小数点或者科学计数法表示。科学计数法可以使用小写的e,也可以使用大写的E。
例如:
1 |
|
将会输出:
1 | 1.234 |
- 字符串:字符串是由一系列字符组成,在PHP中,字符和字节一样,也就是说,一共有256种不同字符的可能性。
字符串型可以用三种方法定义:单引号形式、双引号形式和Heredoc结构形式。
例如:
1 |
|
将会输出:
1 | 我是字符串 |
- 标量类型-字符串(2):当你的字符串中包含引号的时候,我们怎么办?
第一种方案:在单引号中嵌入双引号;
第二种方案:在双引号中嵌入单引号;
第三种方案:使用转义符“\”(后面部分还有介绍),分别如上图第4行和第5行所示;
1 |
|
将会输出:
1 | 甲问:"你在哪里学的单片机?" |
- 标量类型—字符串(3):输出美元符号将会输出:
1
2
3
4
5
6
7
8
9
10
$love = "I love you!";
$string1="亚博在线教育,$love";
/*当双引号中包含变量时,变量会与双引号中的内容连接在一起;*/
$string2 = 'GeekSpeed,$love';
/*当单引号中包含变量时,变量会被当做字符串输出。*/
echo $string1;
echo "<br />";
echo $string2;标量类型—字符串(4):Heredoc结构形式的方法来输出较长字符串。首先使用定界符表示字符串(<<<),接着在“<<<“之后提供一个标识符GOD,然后是字符串,最后以提供的这个标识符结束字符串。1
2亚博在线教育,I love you!
GeekSpeed,$love
1 |
|
将会输出
1 | 我有一只小毛驴,我从来也不骑。 |
第一种特殊资源资源(resource):
资源是由专门的函数来建立和使用的,例如打开文件、数据连接、图形画布。我们可以对资源进行操作(创建、使用和释放)。任何资源,在不需要的时候应该被及时释放。如果我们忘记了释放资源,系统自动启用垃圾回收机制,在页面执行完毕后回收资源,以避免内存被消耗殆尽.
结果提示 :
1 |
|
1 | 结果将输出这个文件内容 |
第二种特殊类型——空类型
NULL(NULL):NULL是空类型,对大小写不敏感,NULL类型只有一个取值,表示一个变量没有值,当被赋值为NULL,或者尚未被赋值,或者被unset(),这三种情况下变量被认为为NULL。
1 |
|
将会输出
1
2
3
4
NULL
NULL
NULL
NULL
1 | NULL |
常量
- 什么是常量:
常量可以理解为值不变的量(如圆周率);或者是常量值被定义后,在脚本的其他任何地方都不可以被改变。PHP中的常量分为自定义常量和系统常量.定义的常量,它通过使用PHP中的函数define()定义;
define()函数的语法格式为:
1 | bool define(string $constant_name, mixed $value[, $case_sensitive = true]) |
1 | 它有3个参数(也就是原料): |
1 | 第二个参数“value”为必选参数,它是常量的值。 |
1 | 第三个参数“case_sensitive”为可选参数,指定是否大小写敏感,设定为true表示不敏感,一般不指定第三个参数的情况下, |
(注: string表示参数类型为字符串类型,mixed表示参数类型可以接受为多种不同的类型,case_sensitive =
true表示默认为布尔类型TRUE)
例如定义圆周率的常量:
1 |
|
将会输出:
1 | 3.14 |
- 常量的作用
常量主要功效是可以避免重复定义,篡改变量值。在我们进行团队开发时,或者代码量很大的时候,对于一些第一次定义后不改变的量,如果我们使用变量,在不知情的情况下,使用同一变量名时,变量值就会被替换掉,从而会引发服务器执行错误的任务。
此外,使用常量还能提高代码的可维护性。如果由于某些原因,常量的值需要变更时候,我们只需要修改一个地方
例如:
1 |
|
输出结果为:
1 | 面积为:28.26 |
- 认识一下系统常量
系统常量是PHP已经定义好的常量,我们可以直接拿来使用,常见的系统常量有:
(1)FILE :php程序文件名。它可以帮助我们获取当前文件在服务器的物理位置。
(2)LINE :PHP程序文件行数。它可以告诉我们,当前代码在第几行。
(3)PHP_VERSION:当前解析器的版本号。它可以告诉我们当前PHP解析器的版本号,我们可以提前知道我们的PHP代码是否可被该PHP解析器解析。
(4)PHP_OS:执行当前PHP版本的操作系统名称。它可以告诉我们服务器所用的操作系统名称,我们可以根据该操作系统优化我们的代码。
例如:
1 |
|
将会输出:
1 | /54/806/9oJ1/index.php |
- 常量取值:
获取常量值的有两种方法取值。第一种是使用常量名直接获取值;例如计算圆周率的面积,如下(“*”是运算符,相当于乘号,后面部分的小节会介绍)
1 |
|
第二种是使用constant()函数。它和直接使用常量名输出的效果是一样的,但函数可以动态的输出不同的常量,在使用上要灵活、方便,其语法格式如下:
1 | mixed constant(string constant_name) |
第一个参数constant_name为要获取常量的名称,也可为存储常量名的变量。如果成功则返回常量的值,失败则提示错误信息常量没有被定义。(注:mixed表示函数返回值类型为多种不同的类型,string表示参数类型为字符串类型)
例如:
1 |
|
试试constant函数取值:
1 |
|
将会输出:
1 | 3.14 |
- 判断常量是否被定义
如果常量被重复定义以后,PHP解析器会发出“Constant XXX already defined”的警告,提醒我们该常量已经被定义过。那么,在团队开发,或代码量很大的情况下,我们如何去判定一个常量是否被定义呢?defined()
函数可以帮助我们判断一个常量是否已经定义,其语法格式为:1
bool defined(string constants_name)
它只有参数constant_name,指的是要获取常量的名称,若存在则返回布尔类型true,否则返回布尔类型false; (注:bool表示函数返回值类型为布尔类型)
1
2
3
4
5
6
7
8
define("PI1",3.14);
$p = "PI1";
$is1=defined($p);
$is2=defined("PI2");
var_dump($is1);
var_dump($is2);
将会显示:
1
2
bool(true)
bool(false)
1 | bool(true) |