php的数据类型,类型之间的转换,php的变量和常量,表达式和运算符,以及流程控制语句。
1、语法入门使用php输出“Hello world”代码如下:
<html>
<head>
<tile>my first php program</tile>
</head>
<body>
<?php
echo"Hello world";
?>
</body>
</html>
2、php语言概貌
php程序是内嵌在页面中的(平时在浏览器看的是被处理过的了)
php代码必须放在<?php 中间 ?>
使用分号分隔php语句,用来分割各条php语句(与Java语言及C语言用法一致)
php的4种标记风格:xml标记风格<?php ?>(推荐使用这风格,因在各种服务器中运行);短标记<? ?>;asp标记风格<% %>;script标记风格<script languge='php'> </scrigt>
为我们程序添加注释C语言单行“//”;sell脚本风格的当行注释是用“#”;C语言多行注释“/*开始 */结束”;
3.数据类型:分为基本类型,复合类型,特殊类型。
基本类型:整型(int)(integer),浮点型(float),布尔型(boolean),字符串(string)。
整型:十进制的是整数,八进制的像 -034,十六进制的像 0xbf。
浮点型:带小数点的。
布尔型:布尔型数据只有“true”和“false”。
字符串:用单引号 ‘ ’,双引号 “ ” 和 定界符《END END》 。里面的字符。
复合类型:数组(array),对象(object)。
数组:是每个元素都有唯一的编号,称为索引。零算为一。
对象:对象是类的一个实例。
特殊类型:null,资源。
null:这种数据类型只有一个值——null。(如果变量满足1.变量违背赋予任何值。2.变量呗赋值为null。3.被unset()函数处理后的变量。这样该变量都为null。)
资源:该数据类型表示php的外部资源。
(如:mysql_connect()函数表示建立MYSQL数据连接,fopen()函数表示打开一个文件等 get_resource_type()函数表示打开查看这个资源类型 )
4.探讨数据类型只见的转换
(1)php与众不同的类型转换
例子: Java php
string a="hello!" ; ==> $a= "hello!" ;
int b=11; ==> $b= 11;
(通过比较Java要指定数据类型,而php并不需要。)
php类型转换包含两种方式:1.自动类型转换;2.强制类型转换
自动类型转换:1.直接对变量赋值 (如:$a=1;)。
2.运算式结果对变量的赋值操作 (1) 同一数据类型的 如:<?php
$a=1;
$b=3;
$c=$a+$b;
?>
(2)运算数为不同类型 如:<?php
$a=1+1.23; //$a: 1(为整型)+1.23(为浮点型)=(浮点型);
$b=2+"3.14"; //$b: 2(为整型)+“3.14”(为字符串,先转为浮点型3.14)=浮点型
$c=3+"abc"; //$c: 3(为整型)+“abc”(为字符串,先转为整型0)=整型
?>
强制类型转换:
转换格式 | 转换结果 | 实现方式 |
(int),(ineger) | 将其他数据类型强制转换为整形 |
$a="3"; $b=(int)$a; $c=(incteger)$a; |
(bool),(boolean) | 将其他数据类型强制转换为布尔型 |
$a="3"; $b=(bool)$a; $c=(boolean)$a; |
(float),(double),(real) | 将其他数据类型强制转换为浮点型 |
$a="3"; $b=(float)$a; $c=(double)$a; $d=(real)$a; |
(string) | 将其他数据类型强制转换为字符串 |
$a=3; $b=(string)$a; |
(array) |
将其他数据类型强制转换为数值 |
$a="3"; $b=(array)$a; |
(object) |
将其他数据类型强制转换为对象 | $a="3"; $b=(object)$a; |
1.其他类型转为整型:
原类型 | 目标类型 | 转换规则 |
浮点型 | 整型 |
向下取整,即不会四舍五入而是直接去掉浮点型数据小数点后面的部分,只保留整数部分。 |
布尔型 | 整型 |
TRUE转换成整型数字1,FALSE转换成整型数字0 |
字符串 | 整型 |
字符串为纯整型数字,转换成相应的整型数字 字符串为带小数点数字,转换时去除小数点后面部分,保留整数部分 字符串以整型数字开头,转换时去除整型数字后面部分,然后按照规则1进行处理 字符串以带小数点数字开头,转换时去除小数后面部分,然后按规则2进行处理 字符串内容以非数字开头直接转换为0 |
(例子:第2章/2.3/to int.php)
2.其他类型转浮点型:
原类型 | 目标类型 | 转换规则 |
字符串 | 浮点型 |
只取开头,如果是整型数字不变,如果是浮点数开头只取开头浮点数部分,其他取0 |
布尔型 | 浮点型 |
true取1;false取0 |
整型 | 浮点型 | 不变 |
(例子:第2章/2.3/to float.php)
3.其他类型转布尔型:
原类型 | 目标类型 | 转换规则 |
整型 | 布尔型 |
0转为false;其他的都为true。 |
浮点型 | 布尔型 |
0转为false;其他的搜为true。 |
字符串 | 布尔型 |
空字符串是0转为false;其他都转为true。 |
null | 布尔型 |
直接转为false。 |
数组 | 布尔型 | 空数组转为false;其他都转为true。 |
(例子:第2章/2.3/to boolean.php)
4.其他类型转字符串:
原类型 | 目标类型 | 转换规则 |
整型 | 字符串 | 两边加双引号就行了。 |
浮点型 | 字符串 | 也是两边加双引号就行了。 |
布尔型 | 字符串 | TRUE转为“1”;FALSE转为“0”。 |
数组 | 字符串 | 直接转为“array”。 |
对象 | 字符串 | 直接转为“object”。 |
null | 字符串 | 直接转为空字符串。 |
(例子:第2章/2.3/to sring.php)
5.其他类型转为数组:
原类型 | 目标类型 | 转换规则 |
整型;浮点型; 布尔型;字符串 |
数组 | 得到数组字包含一个数据元素,该数据就是未转换钱的数据,并数据类型不变。 |
对象 | 数组 |
转换时将对象成员变量的名称作为数组的key,而每个key的value都是空,如果成员的变量为私有的(private), 转换后key的名称为“类名+成员变量名”,如果成员变量公有的(public),转换后key的名称为成员变量名,如果 成员变量为受保护的(protected),转换后key的名称为“*+成员变量名” |
null | 数组 |
直接转换为一个空数组 |
(例子:第2章/2.3/to Arry.php)
6.其他类型转为对象:
原类型 | 目标类型 | 转换规则 |
整型;浮点型; 布尔型;字符串 |
对象 |
将其他类型变量转为对象时将会新建一个名为“scalar”的属性,并将原变量的 值储存在这个属性中。 |
数组 | 对象 |
数组的key作为对象的成员变量的名称,对应各个key的value作为对象的成员 变量保存的值。 |
null | 对象 | 直接转换为一个空对象。 |
(例子:第2章/2.3/to bject.php)
php中的变量和常量:
1.什么是变量和常量:程序执行过程中,变量存储的值是可以变的;常量存储的值是不可以变的。
变量的定义:格式$变量名=变量的值;
变量的规则:(1)变量名以字母或下划线开头,可以由数字.下划线或字母。
(2)变量名区分大小写,如:$VAR和$var是不同的变量。
(3)自定义变量名称不可与php提供的默认变量名同样。
(4)在为变量命名时精良使用有意义的字符串。
2.变量赋值是“=”完成的:(1)传值赋值是$a=2; $b=$a; $b=44; -->$a=2; $b=44;
(2) 引用赋值是以“&”完成:$a=33; $b=& $a; $b=44; -->$a=44; $b=44;
3.变量作用域:
(1)局部变量:变量作用是仅限于在其函数体内部,如果外部引用这变量则会引用另一个变量。 (例子:第2章/2.4/local.php)
(2)全局变量:变量前面加“global”关键字,就可以引用函数外部的参数,或者在函数外部引用内部函数的参数了。 (例子:第2章/2.4/global.php)
(3)静态变量:其也存活的周期——生命周期。超出时间就失效。1.局部变量:当局部变量所在函数结束时,局部变量的生命周期也随之结束。
2.全局变量:在“.php”脚本文件被调用的整过程是生命周期;当全局变量所在脚本文件结束调用时
全局变量生命周期结束。
4.可变变量:$$可变变量名称=可变变量的值。如:$a="A"; $$a="B"; echo $$a; =>B echo $A; =>B (例子:第2章/2.4/ariable.php)
默认系统变量:
变量 | 作用 |
$GLOBALS | 存储当前脚本中的所有全局变量,其key为变量名,value为变量值 |
$_SERVER | 当前Web服务器变量数组 |
$_GET | 存储以GET方式提交表单中的数据 |
$_POST | 存储以POST方式提交表单中的数据 |
$_COOKIE | 取得或设置用户浏览器Cookies中存储的变量数组 |
$_FILES | 存储上传文件提交到当前脚本的数据 |
$_ENV | 存储当前Web环境变量 |
$_REQUEST | 存储提交表当中的所有请求数组,七中包括$_GET、$_POST、$_COOKIE和$_SESSION中的所有内存 |
$_SESSION | 存储当前吉奥本的会话变量数组 |
关于PHP所提供的默认系统变量,可以通过调用phpinfo()函数进行查看。但是由于操作系统版本、服务器版本及PHP配置 文件的差异,在不同环境下显示的内容可能会有所不同。 |