1、PHP语言基础一PHP语言基础(一)1.数据类型PHP的数据类型可以分为3种,即:标量数据类型、复合数据类型(就是多个简单的数据类型组合在一起,存储在一个变量中)和特殊数据类型。标量数据类型 标量数据类型是数据结构中最基本单元,只能存储一个数据。PHP中标量数据类型包括4种。1.布尔型:布尔型是PHP中较为常用的数据类型之一。它保存一个True或False值。其中True和False是PHP内部关键字。设定一个布尔型的变量,只需将True或False赋值给变量即可。通常布尔型变量都是应用在条件或循环语句的表达式中。例子:布尔型变量应用2.字符串型(string) 字符串是连续的字符序列,由数字
2、、字母和符号组成。字符串的每个字符只占有一个字节。在PHP中,定义字符串有3种方式。 单引号() 双引号(“) 界定符()单引号和双引号是经常被使用的定义方式,定义格式如下:$a=字符串;或$a=“字符串”;两者的区别是:双引号中所包含的变量会自动被替换成实际数值,而在单引号中包含的变量则按普通字符串输出。例子:单引号和双引号?php $i=你好,PHP!; echo $i; echo ; echo $i;?两者之间另一处的不同点是对转义字符的使用使用单引号时,只要对“”进行转义就可以了,但使用双引号时,还要注意“”、”$“等字符的使用。这些特殊字符都要通过转义符”“来显示。常用的转义字符如:
3、n 回车r 回车t 水平制表符 反斜杠$ 美元符号 单引号” 双引号以上这些特殊字符都必须要用转义字符才能输出也就是说:要在一长串用单引号或双引号包含的字符串中输出这些特殊字符,必须用转义字符。例子:转义字符?php /双引号中包含换行符的情况 $language=PHP; $w1=welcome to study $language! nwelcome to tj!; /echo $w1; /* 我们可以看到n这个换行符没有起作用!这是因为不同的浏览器的函数库不同会造成不同的效果 所以,对于换行符我们可以使用来代替! */ $w2=welcome to study $language! we
4、lcome to tj!; /echo $w2;/我们可以看到换行出现了! /双引号中包含双引号的情况 $app=苹果; $w3=我喜欢甜的$app; /echo $w3;/在双引号中使用双引号,需要用到转义字符! /双引号中包含单引号的情况 $pear=梨; $w4=我喜欢$pear;/由于单引号中不能解析变量,所以需要花括号! /echo $w4; /单引号中包含单引号的情况 $w5=我喜欢桃; /echo $w5; /单引号中包含双引号 $w6=我喜欢桔子; echo $w6;?我们可以看到在双引号中使用单引号,以及在单引号中使用双引号都不需要转义!只有在单引号里使用单引号,以及在双引号
5、中使用双引号才需要转义。定义简单的字符串时,使用单引号是更加高效的处理方式。使用双引号时,PHP将花费一些开销处理字符的转义和变量的解析。因此,当没有特别需求,应使用单引号。界定符()是从PHP4.0开始支持的。在使用时后接一个标识符,然后是字符串,最后是同样的标识符结束字符串。格式:$string=str 此处为要输出的字符串str其中str为指定的标识符。定界符”“后面紧接着的是定界标识符。就是上面的str。标识符应遵循以下规则:1.标识符由字母、数字或下划线构成。并且不能以数字开始。2.结尾的标识符必须顶格书写,其前不能有任何其他字符。通常的错误是将结尾的定界标识符进行缩进。(也就是点击
6、了键盘上的Table键)例子:使用定界符定义字符串?php $str=EOD 你好!PHPEOD; echo $str;/定界符中的字符串可以被解析,可以使用转义字符,但不必转义引号。/当需要定义或输出大量的文本时,使用定界符显得尤为方便。$str=EOD 你好!PHPEOD; echo $str;$i=PHP; $str=EOD 你好!$iEOD; echo $str;/可以输出变量$i/下面的情况会输出:你好!PHP,也就是说在定界符中就可以解析变量,不需要双引号!$i=PHP; $str=3.整型(integer) 整型数据类型只能包含整数。在32位系统中,有效的范围是-21474836
7、48+2147483647,如果超出了这个这个范围,整数就会溢出。这时,系统会自动将其转化为浮点型数字。整型数可以用十进制,八进制和十六进制来表示。如果用八进制,数字前面必须加0,如果用十六进制,则需要加0x。在表达式中,计算的结果均以十进制数字输出例子:整型变量的表示?php $str1=1234; $str2=01234; $str3=0x1234; echo 数字1234不同进制的输出结果:; echo 十进制的结果是:$str1; echo 八进制的结果是:$str2; echo 十六进制的结果是:$str3; /以上结果均以十进制的形式输出 /如果想在进制间进行转换,那么可以利用PH
8、P的一些内置函数! bindec() - 二进制转换为十进制decbin() - 十进制转换为二进制dechex() - 十进制转换为十六进制decoct() - 十进制转换为八进制hexdec() - 十六进制转换为十进制octdec() - 八进制转换为十进制base_convert()- 在任意进制之间转换数字/十六进制转换为十进制$f1=hexdec(0x4D2);/echo $f1;/输出1234 /* * 十进制转换为十六进制 */ $f2=dechex(1234); echo $f2;/输出4d2 /* * 在任意进制之间转换数字 */ $f3=base_convert(1234
9、,10,16);/将十进制的1234转换为十六进制 echo $f3;/输出4d2?4.浮点型(float) 浮点数据类型可以用来存储数字,也可以保存小数。它提供的精度比整数大得多。在32位系统中,有效范围是1.7E-3081.7E+308。在PHP4.0以前的版本中,浮点型的标识为double,也叫双精度浮点数,两者没有区别。浮点型数据默认有两种书写格式,一种是标准格式。如:3.1415、0.333、-35.8还有一种是科学记数法格式。如:3.58E1、849.72E-3注:浮点型的数值只是一个近似值,所以要尽量避免浮点型之间比较大小,因为最后的结果往往是不准确的。以上的布尔型、字符串型、整
10、型、浮点型均为标量数据类型!复合数据类型复合数据类型包括两种(数组和对象)1.数组(array) 数组是一组数据的集合,它把一系列数据组织起来,形成一个可操作的整体。数组中可以包括很多数据:标量数据、数组、对象、资源,以及PHP中支持的其他语法结构等。数组中的每个数据称为一个元素,元素包括索引(键名)和值两部分。元素的索引只能由数字或字符串组成。元素的值可以是多种数据类型。定义数组的语法格式如下:$array=(“value1”,”value2”);或$arraykey=“value”;或$array=(key1=value1,key2=value2);例子:数组初始化/数组的初始化$arr=
11、array(0=1,1=2,hi=hello);print_r($arr);echo $arr0;/输出数字下标的数组元素echo ;echo $arrhi;/输出字符串下标的数组元素声明数组后,数组中的元素个数还可以自由更改。只要给数组赋值,数组就会自动增加长度。例子:更改数组的长度?php/下面我们创建一个包含3个元素的数组$arr,然后向$arr数组中添加2个新元素,最后输出数组元素的值。$arr=array(s1,s2,s3);echo $arr2=$arr2;echo ;arr3=s4;$arr=s5;print_r($arr);?例子:对数组下标的分析/构造数组 $key=8; $
12、arr=array( 1, abc, book=PHP, 33, 13=number, php=5.0, $key=key, hello ); print_r($arr);/* 需要注意的问题:根据输出的结果Array ( 0 = 1 1 = abc book = PHP 2 = 33 13 = number php = 5 8 = key 14 = hello ) * 我们可以分析出:* 1.数组的下标是从0开始的* 2.如果在数字下标后出现字符串下标,那么并不会打乱数字下标的顺序。如:0 = 1 1 = abc book = PHP 2 = 33 字符串下标book后仍为数字下标2* 3.
13、如果在数组某元素出现自定义的数字下标,那么会打乱之前的下标顺序,之后会以当前自定义的下标作为之后数字下标的排序依据。如:* 2 = 33 13 = number php = 5 8 = key 14 = hello 数字下标2之后出现自定义的数字下标13,那么hello自然为14 * 请注意:14下标前的8为什么不会使hello的下标变成9呢?这是因为8之前已经定义了大于8的下标13,所以以后只会以13为依据了,除非将8变为大于13的数字,则hello的下标才会以该数字为依据!*/注意:当为同名元素赋值时,只保留最后一次的定义。所有整数字符的键被看做整数。例子:数组的注意对象(object)
14、现在的编程语言用到的方法有两种:面向过程和面向对象。在PHP中可以自由的使用这两种方法。我们将在后续的课程中对面向对象的技术进行详细介绍。特殊数据类型特殊数据类型包括两种(资源和空值)1.资源(resource) 又叫做“句柄”,是由专门的函数来建立和使用的。它是一种特殊的数据类型,并由程序员分配。在使用资源时,要及时地释放不需要的资源。如果程序员忘记了释放资源,系统自动启动垃圾回收机制,避免内存消耗殆尽。例子:打开文件形成的资源(随开随关)2.空值(null) 空值,顾名思义,表示没有为该变量设置任何值,另外,空值不区分大小写,null和NULL效果是一样的。被赋予空值的情况有以下3种。 还没有赋任何值; 被赋值null 被unset()函数处理过的变量。 例子:空值实例
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1