php语言

PHP语言基础知识

时间:2024-07-16 03:02:14 php语言 我要投稿
  • 相关推荐

PHP语言基础知识

  不管多么险峻的高山,总是为不畏艰难的人留下一条攀登的路。以下是小编为大家搜索整理了PHP语言基础知识,希望能给大家带来帮助!更多精彩内容请及时关注我们应届毕业生考试网!

PHP语言基础知识

  PHP语言基础(一)

  1.数据类型

  PHP的数据类型可以分为3种,即:标量数据类型、复合数据类型(就是多个简单的数据类型组合在一起,存储在一个变量中)和特殊数据类型。

  标量数据类型

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

  1.布尔型:布尔型是PHP中较为常用的数据类型之一。它保存一个True或False值。其中True和False是PHP内部关键字。设定一个布尔型的变量,只需将True或False赋值给变量即可。通常布尔型变量都是应用在条件或循环语句的表达式中。

  例子:布尔型变量应用

  //布尔型变量

  $boo=true;

  if ($boo==true)

  {

  echo "我们一直在努力!";

  }

  else

  {

  echo "错了!";

  }

  //或者写成:

  if ($boo)

  {

  echo "我们一直在努力!";

  }

  else

  {

  echo "错了!";

  }

  ?>

  2.字符串型(string)

  字符串是连续的字符序列,由数字、字母和符号组成。字符串的每个字符只占有一个字节。在PHP中,定义字符串有3种方式。

  ? 单引号(?)

  ? 双引号(“)

  ? 界定符(<<<)

  单引号和双引号是经常被使用的定义方式,定义格式如下:$a=?字符串?;或$a=“字符串”;

  两者的区别是:双引号中所包含的变量会自动被替换成实际数值,而在单引号中包含的变量则按普通字符串输出。

  例子:单引号和双引号

  $i="你好,PHP!";

  echo "$i";

  echo "

  ";

  echo '$i';

  ?>

  两者之间另一处的不同点是对转义字符的使用

  使用单引号时,只要对“?”进行转义就可以了,但使用双引号时,还要注意““”、”$“等字符的使用。这些特殊字符都要通过转义符”\“来显示。

  常用的转义字符如:

  \n 回车

  \r 回车

  \t 水平制表符

  \\ 反斜杠

  \$ 美元符号

  \? 单引号

  \” 双引号

  以上这些特殊字符都必须要用转义字符才能输出

  也就是说:要在一长串用单引号或双引号包含的字符串中输出这些特殊字符,必须用转义字符。

  例子:转义字符

  //双引号中包含换行符的情况

  $language="PHP";

  $w1="welcome to study $language! \nwelcome to tj!";

  //echo $w1;

  /*

  我们可以看到\n这个换行符没有起作用!这是因为不同的浏览器的函数库不同会造成不同的效果

  所以,对于换行符我们可以使用

  来代替!

  */

  $w2="welcome to study $language!

  welcome to tj!";

  //echo $w2;//我们可以看到换行出现了!

  //双引号中包含双引号的情况

  $app="苹果";

  $w3="我喜欢\"甜的\"$app";

  //echo $w3;//在双引号中使用双引号,需要用到转义字符\!

  //双引号中包含单引号的情况

  $pear="梨";

  $w4="我喜欢'{$pear}'";//由于单引号中不能解析变量,所以需要花括号!

  //echo $w4;

  //单引号中包含单引号的情况

  $w5='我喜欢\'桃\'';

  //echo $w5;

  //单引号中包含双引号

  $w6='我喜欢"桔子"';

  echo $w6;

  ?>

  我们可以看到在双引号中使用单引号,以及在单引号中使用双引号都不需要转义!只有在单引号里使用单引号,以及在双引号中使用双引号才需要转义。

  定义简单的字符串时,使用单引号是更加高效的处理方式。使用双引号时,PHP将花费一些开销处理字符的转义和变量的解析。因此,当没有特别需求,应使用单引号。

  界定符(<<<)是从PHP4.0开始支持的。在使用时后接一个标识符,然后是字符串,最后是同样的标识符结束字符串。

  格式:$string=<<

  此处为要输出的字符串

  str

  其中str为指定的标识符。

  定界符”<<<“后面紧接着的是定界标识符。就是上面的str。标识符应遵循以下规则:

  1.标识符由字母、数字或下划线构成。并且不能以数字开始。

  2.结尾的标识符必须顶格书写,其前不能有任何其他字符。

  通常的错误是将结尾的定界标识符进行缩进。(也就是点击了键盘上的Table键)

  例子:使用定界符定义字符串

  $str=<<

  你好!PHP

  EOD;

  echo $str;

  //定界符中的字符串可以被解析,可以使用转义字符,但不必转义引号。

  //当需要定义或输出大量的文本时,使用定界符显得尤为方便。

  $str=<<

  你好!"PHP"

  EOD;

  echo $str;

  $i="PHP";

  $str=<<

  你好!$i

  EOD;

  echo $str;//可以输出变量$i

  //下面的情况会输出:你好!"PHP",也就是说在定界符中就可以解析变量,不需要双引号! $i="PHP";

  $str=<<

  你好!"$i"

  EOD;

  echo $str;

  ?>

  3.整型(integer)

  整型数据类型只能包含整数。在32位系统中,有效的范围是-2147483648~+2147483647,如果超出了这个这个范围,整数就会溢出。这时,系统会自动将其转化为浮点型数字。 整型数可以用十进制,八进制和十六进制来表示。如果用八进制,数字前面必须加0,如果用十六进制,则需要加0x。

  在表达式中,计算的结果均以十进制数字输出

  例子:整型变量的表示

  $str1=1234;

  $str2=01234;

  $str3=0x1234;

  echo "数字1234不同进制的输出结果:

  ";

  echo "十进制的结果是:$str1

  ";

  echo "八进制的结果是:$str2

  ";

  echo "十六进制的结果是:$str3

  ";

  //以上结果均以十进制的形式输出

  //如果想在进制间进行转换,那么可以利用PHP的一些内置函数!

  bindec() -- 二进制转换为十进制

  decbin() -- 十进制转换为二进制

  dechex() -- 十进制转换为十六进制

  decoct() -- 十进制转换为八进制

  hexdec() -- 十六进制转换为十进制

  octdec() -- 八进制转换为十进制

  base_convert()-- 在任意进制之间转换数字

  //十六进制转换为十进制

  $f1=hexdec("0x4D2");

  //echo $f1;//输出1234

  /**

  * 十进制转换为十六进制

  */ $f2=dechex("1234"); echo $f2;//输出4d2 /** * 在任意进制之间转换数字 */ $f3=base_convert("1234",10,16);//将十进制的1234转换为十六进制 echo $f3;//输出4d2

  ?>

  4.浮点型(float)

  浮点数据类型可以用来存储数字,也可以保存小数。它提供的精度比整数大得多。在32位系统中,有效范围是1.7E-308~1.7E+308。在PHP4.0以前的版本中,浮点型的标识为double,也叫双精度浮点数,两者没有区别。浮点型数据默认有两种书写格式,一种是标准格式。

  如:3.1415、0.333、-35.8

  还有一种是科学记数法格式。

  如:3.58E1、849.72E-3

  注:浮点型的数值只是一个近似值,所以要尽量避免浮点型之间比较大小,因为最后的结果往往是不准确的。

  以上的布尔型、字符串型、整型、浮点型均为标量数据类型!

  复合数据类型

  复合数据类型包括两种(数组和对象)

  1.数组(array)

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

  $array=(“value1”,”value2”……);或

  $array[key]=“value”;或

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

  例子:数组初始化

  //数组的初始化

  $arr=array(0=>1,1=>2,hi=>"hello");

  print_r($arr);

  echo $arr[0];//输出数字下标的数组元素

  echo "

  ";

  echo $arr['hi'];//输出字符串下标的数组元素

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

  例子:更改数组的长度

  //下面我们创建一个包含3个元素的数组$arr,然后向$arr数组中添加2个新元素,最后输出数组元素的值。

  $arr=array("s1","s2","s3");

  echo "\$arr[2]=$arr[2]";

  echo "

  ";

  arr[3]="s4";

  $arr[]="s5";

  print_r($arr);

  ?>

  例子:对数组下标的分析

  //构造数组

  $key=8;

  $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.如果在数组某元素出现自定义的数字下标,那么会打乱之前的下标顺序,之后会以当前自定义的下标作为之后数字下标的排序依据。如:

  * [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的下标

  才会以该数字为依据!!!

  */

  注意:当为同名元素赋值时,只保留最后一次的定义。所有整数字符的键被看做整数。

  例子:数组的注意

  $arr=array("s1","s2","s3");

  $arr[3]="ss";

  $arr[3]="xx";

  print_r($arr);//只保留$arr[3]="xx";

  $arr['4']="www";

  print_r($arr);//$arr['4']相当于$arr[4]

  ?>

  对象(object)

  现在的编程语言用到的方法有两种:面向过程和面向对象。在PHP中可以自由的使用这两种方法。我们将在后续的课程中对面向对象的技术进行详细介绍。

  特殊数据类型

  特殊数据类型包括两种(资源和空值)

  1.资源(resource)

  又叫做“句柄”,是由专门的函数来建立和使用的。它是一种特殊的数据类型,并由程序员分配。在使用资源时,要及时地释放不需要的资源。如果程序员忘记了释放资源,系统自动启动垃圾回收机制,避免内存消耗殆尽。

  例子:打开文件形成的资源(随开随关)

  //以只读的方式打开文件

  $fileOpen=fopen("1.3.1.txt","r");

  //读取文件的所有内容

  $fileRead=fread($fileOpen,filesize("1.3.1.txt"));

  //关闭打开的文件

  fclose($fileOpen);

  //输出文件的内容

  echo $fileRead;

  ?>

  2.空值(null)

  空值,顾名思义,表示没有为该变量设置任何值,另外,空值不区分大小写,null和NULL效果是一样的。被赋予空值的情况有以下3种。

  ? 还没有赋任何值;

  ? 被赋值null

  ? 被unset()函数处理过的变量。

  例子:空值实例

  //空值实例

  echo "变量(\$string1)直接赋值为null";

  $string1=null;

  if ($string1==null)

  {

  echo "string=null";

  }

  //以上是字符串string1被赋值为null,也会输出null

  echo "

  变量(\$string2)未被赋值:";

  if ($string2==null)

  {

  echo "string2=null";

  }

  //以上是字符串string2未被赋值和声明,同样输出null

  echo "

  被unset()函数处理过的变量(\$string3):";

  $string3="str";

  unset($string3);

  if ($string3==null)

  {

  echo "string3==null";

  }

  //以上是字符串string3虽然被赋予初值,但经过unset函数处理后,仍然输出null

  /**

  * 总结:字符串string1被赋值为null,string2根本没有声明和赋值,所以也输出null, * 最后的string3虽然被赋予了初值,但被unset()函数处理后,也变为null型。 * unset()函数的作用就是从内存中删除变量。

  */

  ?>

  本节重点

  PHP数据类型的种类

  标量数据类型、复合数据类型(就是多个简单的数据类型组合在一起,存储在一个变量中)和特殊数据类型

  每种类型所包含的变量种类有哪些?

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

  1.布尔型

  2.字符串型(string)

  3.整型(integer)

  4.浮点型(float)

  复合数据类型包括两种(数组和对象)

  1.数组(array)

  2.对象(object)

  特殊数据类型包括两种(资源和空值)

  1.资源

  2.空值

  各类变量的特点?

  1.布尔型:布尔型是PHP中较为常用的数据类型之一。它保存一个True或False值。其中True和False是PHP内部关键字。设定一个布尔型的变量,只需将True或False赋值给变量即可。通常布尔型变量都是应用在条件或循环语句的表达式中。

  2.字符串是连续的字符序列,由数字、字母和符号组成。字符串的每个字符只占有一个字节。在PHP中,定义字符串有3种方式。

  ? 单引号(?)

  ? 双引号(“)

  ? 界定符(<<<)

  3.整型数据类型只能包含整数。

  4.浮点数据类型可以用来存储数字,也可以保存小数。它提供的精度比整数大得多。

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

  6.对象(object) 现在的编程语言用到的方法有两种:面向过程和面向对象。

  定义字符串有哪几种方式?

  定义字符串有3种方式。

  ? 单引号(?)

  ? 双引号(“)

  ? 界定符(<<<)

  哪些特殊符号需要转义字符才能输出?

  ? \n 回车

  ? \r 回车

  ? \t 水平制表符

  ? \\ 反斜杠

  ? \$ 美元符号

  ? \? 单引号

  ? \” 双引号

  单引号和双引号的区别?

  1.双引号中所包含的变量会自动被替换成实际数值,而在单引号中包含的变量则按普通字符串输出。

  2.两者之间另一处的不同点是对转义字符的使用

  使用单引号时,只要对“?”进行转义就可以了,但使用双引号时,还要注意““”、”$“等字符的使用。这些特殊字符都要通过转义符”\“来显示。

  界定符(<<<)要遵循的规则?

  1.标识符由字母、数字或下划线构成。并且不能以数字开始。

  2.结尾的标识符必须顶格书写,其前不能有任何其他字符。

  通常的错误是将结尾的定界标识符进行缩进。(也就是点击了

  键盘上的Table键)

  整型数字在表达式中以什么进制输出?

  十进制

  定义数组的方法有哪几种?

  定义数组的语法格式如下:

  $array=(“value1”,”value2”……);或

  $array[key]=“value”;或

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

  特殊数据类型有哪几种?分别介绍一下?

  特殊数据类型包括两种(资源和空值) 1.资源(resource)

  又叫做“句柄”,是由专门的函数来建立和使用的。它是一种特殊的数据类型,并由程序员分配。在使用资源时,要及时地释放不需要的资源。如果程序员忘记了释放资源,系统自动启动垃圾回收机制,避免内存消耗殆尽。

  2.空值(null)

  空值,顾名思义,表示没有为该变量设置任何值,另外,空值不区分大小写,null和NULL效果是一样的。被赋予空值的情况有以下3种。

  ? 还没有赋任何值;

  ? 被赋值null

  ? 被unset()函数处理过的变量。

【PHP语言基础知识】相关文章:

php学习笔记:基础知识08-31

什么是php语言10-24

php语言的优势09-06

PHP语言的简介09-23

php语言简介08-25

PHP新手必须知道的基础知识07-20

PHP语言发展历程08-29

如何学习php语言09-13

PHP是最好的语言吗08-08

PHP语言的优缺点08-09