$_SERVER数组中包含的一些有用的参数:
$_SERVER[HTTP_USER_AGENT] 用户所使用的客户端浏览器。
$_SERVER[SERVER_SOFTWARE] 服务器软件。
$_SERVER[SERVER_ADDR] 服务器的IP地址
$_SERVER[SERVER_PORT] 服务器使用的端口
$_SERVER[REMOTE_ADDR] 浏览器的IP地址
$_SERVER[DOCUMENT_ROOT] 存放网页的根目录
$_SERVER[SCRIPT_FILENAME] 存放脚本的全路径。
bool function_exists("函数名称") 判断某一个函数是否存在
库函数和用户自定义的函数都可以用这个函数来判断是否存在。
string ini_get(string $varvalue) 获取配置文件中的某个参数的值
string ini_set(string $varname,string $newValue) 将配置文件中的某个值的参数进行更改,但最终并不会更改配置文件。
PHP中变量的使用范围,如果变量不是在函数内部,则变量的默认的适用范围为脚本的开始到结尾处,其中包括用"require" 或"include" 关键字声明的变量也可以在脚本内使用。 在变量的使用范围周期内,我们可以使用unset()函数释放指定的变量,使用isset()函数检测变量是否设置和使用empty()函数来检查一个变量是否为空。
PHP中变量区分大小写,但内置结构和关键字以及用户自定义的类名和函数名都是不区分大小写的。
PHP中的7种变量类型
settype($mixedval,string $type); 将某一个变量设定为指定的类型。
$type有以下几种选择: integer, string,boolean,float,null,array,object
判断类型的一些函数:
is_bool(),is_int(),is_integer(),is_long(),is_float(),is_double(),is_real(),is_string(),is_array(),is_object(),is_resource(),is_null(),is_scalar(),is_numberic(),is_callable()
常量的定义:
bool define(string name,mixed value[,bool case_insensitive])
常量参数不用加“$", 并且应以大写字母的形式定义,作用域为全局
例:define("CON_INT",23);
date_default_timezone_set()设置默认的时区
PHP中不能使用函数的重载,因此不能定义同名的函数,也包括不能喝系统函数重名。
PHP中的变量范围:
局部变量: 函数内部定义的变量只在函数内部有效。
全局变量:在函数外部定义,在PHP中由于函数可以视为单独的程序片段,所以局部变量会覆盖全局变量的能见度,因此在函数内部无法直接调用使用全局变量。函数中若要使用全局变量时,必须要利用global关键字定义目标变量,以告诉函数主体此变量为全局。
系统函数func_get_args()函数,将传递给函数的参数以数组的形式返回,在定义函数时可以不传递参数。
func_num_args()获得函数中传递参数的个数。
使用数组的内部指针控制函数遍历数组:
current(), key(),next(),prev(),end(),reset()
PHP中的超全局数组:
数组相关的处理函数:
1>键值操作函数
array array_values() 不保留原来的键名
array array_keys()
bool in_array(mixed needle, array haystack[,bool strict]) 判断某个needle值是否在数组内,第三个参数用于指定是否区分大小以及类型的一致性。
array_search() 参数与上面的相同,返回值为数组的键值。
bool array_key_exists(mixed $key, $array)用于判断某个键值$key在数组中是否存在。
array array_flip() 交换数组中的键和值。
array array_reverse(array array[,bool presere_keys]) 将原数组中的元素顺序翻转,第二个参数用于指定是否保留键值。
array array_count_values() 统计数组中所有的值出现的次数。
array array_unique() 删除数组中重复的值,并返回新的数组
array array_filter(array input[,callback callback]) 使用回调函数过滤数组。键名保持不变。
bool array_walk()
bool array_map()
数组排序函数:
拆分,合并,分解和接合数组
array array_slice(array array, int offset[,int length[,bool preserve_keys]])
array array_splice(array array, int offset[,int length[,array replacement]]) 删除数组的某一部分,并用其他的数组代替。
array_combine(array keys, array values)合并两个数组为一个新的数组,键值必须对应,否则返回false。
array_merge(....)把一个或多个数组合并为一个大的数组。
array_intersect() 返回两个或多个数组的交集
array_diff() 返回两个或多个数组的差集。
数组与数组结构:
栈结构 int array_push() mixed array_pop()
队列结构 mixed array_shift() 删除第一个 int array_unshift() 从开头插入一个或多个元素。
其他有用的数组处理函数:
mixed array_rand() 从数组中随机取一个元素。
shuffle() 将数组随机重排。