Chinaunix首页 | 论坛 | 博客
  • 博客访问: 418105
  • 博文数量: 48
  • 博客积分: 1032
  • 博客等级: 上士
  • 技术积分: 1256
  • 用 户 组: 普通用户
  • 注册时间: 2012-05-19 13:24
文章分类

全部博文(48)

文章存档

2014年(3)

2013年(23)

2012年(22)

分类: PHP

2013-05-04 11:02:10

PHP:

 

标识符:

1、  标识符可以是任意长度,而且可以由任何字母,数字,下划线组成;

2、  标识符首字母只能是字母或者下划线

3、  PHP中,标识符是区分大小写的

4、  一个变量名可以和函数名称相同,虽然允许但是尽量避免

5、  PHP不要求在使用变量之前声明变量,第一次给一个变量赋值时,才创建一个变量

 

数据类型:

1、  integer(整形)

2、  float(浮点型)

3、  string(字符串)

4、  Boolean(布尔型)

5、  Array(数组)

6、  Object(对象)

7、  Null(空);没有被赋值,已经被重置或者被赋值为特殊值NULL的变量;

8、  Resource(资源型);代表外部资源,如数据库连接,一般不能直接操作resource变量,通常他们都将被函数返回,作为参数传递给其他函数;

 

PHP作为一门动态的弱类型语言,变量的类型是由赋给变量的值确定的;

javascript一样 php中的字符串是不能够改变,只能将其进行操作赋值给一个新的变量

 

类型转换:

c语言一样,只需在希望进行类型转换的变量之前的圆括号中插入需要转换的临时数据类型即可;

$a = 0; $b = (float)$a;

取出$a中的值将其解释为一个浮点类型,并且将其保存在$b之中。而$a并不会改变类型;

 

可变变量:

运行动态的改变一个变量的名称;

$a  = ‘b’;

$$a = 5;

à$b = 5;

 

常量:

常量值一旦被设定后,在脚本的其他地方就不能再改变;使用define函数定义;

Define(‘A’ ,100); à 定义常量A = 100

常量名一般都是用大写字母组成;为了和变量进行区分

在引用常量的时候不需要前面添加’$’符号

 

作用域:

1、  内置超级全局变量可用在脚本的任何地方使用和可见($_GET);

2、  常量:一旦被声明,将可以在全局可见,即其可用在函数外使用;

3、  一个脚本中声明的全局变量在整个脚本中是可见的,但不是在函数内部;

4、  函数内部使用的变量声明为全局变量时,其名称要与全局变量名称一致;

5、  在函数内部创建并被声明为静态变量无法在函数外部可见,但是可以再函数的多次执行过程中保持该值,即静态变量的作用域依然是局部变量,但是生命域变为了全局变量;

6、  在函数内部创建的变量对函数来说是本地的,当函数终止时,该变量就不存在了;

 


PHP中的超级变量

1$GLOBALS  所有全局变量的数组


2$_SERVER  服务器环境变量数组

3$_GET         通过GET方法传递给该脚本的变量数组

4$_POST       通过POST方法传递给脚本的变量数组

5$_COOKIE  cookie变量数组

6$_FILES       与文件上传相关的变量数组

7$_ENV        环境变量数组

8$_REQUEST        所有用户输入的变量数组,包含($_GET,$_POST,$_COOKIE)

9$_SESSION          会话变量数组

 

PHP操作符:

大部分和c相同,

 

错误抑制符:错误抑制操作符@可以在任何表达式前面使用;

$a = @(57/0);  à 如果没有@这行代码会产生一个除0的警告,如果加上@则警告就会被抑制;如果启用了配置文件中的track_errors特性,错误信息将会被保存在全局变量$php_errormsg中。

 

执行操作符:反向单引号(` `)

Php将反向单引号之间的命令当做服务器端的命令行来执行,表达式的值就是命令行的执行结果。

$out = ` ls -la` à得到当前文件夹的文件列表

 

数组操作符:

+ : 联合  $a + $b 返回一个包含了$a$b中所有元素的数组

== : 等价 $a == $b 如果$a$b的所有键值都相等则返回 true

===:恒等 $a === $b 如果$a$b所有的键值以及顺序都相同,则返回true

!=<>!=== 都表示不等

 

类型操作符:instanceof 在面向对象编程时使用,测试一个对象是否是一个类的实例;

 

测试和设置变量类型

两个常用的函数:

String gettype(mixed var);

成功:返回字符串boolint8中数据类型

失败:返回”unknown type”

Bool settype(mixed var, string type);

成功:返回true

失败:返回false

 

还有其他的测试函数,成功返回true 失败返回false

Is_long(),is_int(),is_integer()

Is_double(),is_float(),is_real()

Is_array()

Is_string()

Is_bool()

Is_object()

Is_resource()

Is_null(); 检查变量是否为null

Is_scalar() 检查该变量是否是标量,即一个整数,布尔型,字符串或者浮点数

Is_numeric():检查该变量是否是任何类型的数组或者数组字符串

Is_callable():检查改变量是否是有效的函数名称

 

测试变量状态:

Bool isset(mixed var); [;mixed var[,,,,…]];

 

也可以是一个变量列表,若果所有的变量都存在则为true

如果变量存在就返回true,不存在就返回false

 

Void unset(mixed var);[;mixed var[,,,,]]

 

该函数用于销毁一个传入的变量,可以用于测试构造函数和析构函数

 

Bool empty(mixed var)

检查一个变量是否存在,以及它的值是否是非空和非0,响应的返回值为truefalse

 

 

阅读(2878) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~