就是只能include一个文件一次。 33.2 使用require
Require的作用和include是一样的,唯一不同在于include是执行是包含,而require是先全部包含,不管会不会执行都包含,然后再执行。 如果require发现找不到文件,就会报错,而include发现找不到文件,只会警告,程序继续往下走。 34.系统函数
Rand:int rand([int min],[int max]):min和max都是可选值,返回一个在min和max自己的随机整数。 Round:float round(float val[, int precision]),对浮点数val取四舍五入,小数后的位数为precision指定,可选,默认为0.
Floor:floor(float value):舍去法取整。 Ceil:ceil(float value):进一法取整 35.全局数组:
$_SERVER[]:包含一些诸如头信息,路径和脚本等信息的数组。 元素:
1.
$_SERVER['HTTP_ACCEPT_LANGUAGE']//浏览器语言 显示:zh-cn
2.
$_SERVER['REMOTE_ADDR'] //当前用户 IP 。 显示:127.0.0.1
3.
$_SERVER['REMOTE_HOST'] //当前用户主机名 显示: 4
$_SERVER['REQUEST_URI'] //URL 显示:/test.php 5
$_SERVER['REMOTE_PORT'] //端口。 显示:3864
6
$_SERVER['SERVER_NAME'] //服务器主机的名称。 显示:127.0.0.1
7
$_SERVER['PHP_SELF']//正在执行脚本的文件名 显示:/test.php 8
$_SERVER['argv'] //传递给该脚本的参数。 显示:ARRAY 9
$_SERVER['argc'] //传递给程序的命令行参数的个数。 显示:0
10
$_SERVER['GATEWAY_INTERFACE']//CGI 规范的版本。 显示: CGI/1.1 11
$_SERVER['SERVER_SOFTWARE'] //服务器标识的字串 显示:Apache/2.0.52 (Win32) PHP/5.2.1
12
$_SERVER['SERVER_PROTOCOL'] //请求页面时通信协议的名称和版本 显示:HTTP/1.1
13
$_SERVER['REQUEST_METHOD']//访问页面时的请求方法 显示:GET 14
$_SERVER['QUERY_STRING'] //查询(query)的字符串。 显示: 15
$_SERVER['DOCUMENT_ROOT'] //当前运行脚本所在的文档根目录 显示:D:/Program Files/Apache/www
16
$_SERVER['HTTP_ACCEPT'] //当前请求的 Accept: 头部的内容。
显示:*/* 17
$_SERVER['HTTP_ACCEPT_CHARSET'] //当前请求的 Accept-Charset: 头部的内容。 显示:
18
$_SERVER['HTTP_ACCEPT_ENCODING'] //当前请求的 Accept-Encoding: 头部的内容 显示:gzip,deflate 19
$_SERVER['HTTP_CONNECTION'] //当前请求的 Connection: 头部的内容。例如:“Keep-Alive”。 显示:Keep-Alive 20
$_SERVER['HTTP_HOST'] //当前请求的 Host: 头部的内容。 显示:127.0.0.1:8080
21
$_SERVER['HTTP_REFERER'] //链接到当前页面的前一页面的 URL 地址。 显示:http://127.0.0.1:8080/
22
$_SERVER['HTTP_USER_AGENT'] //当前请求的 User_Agent: 头部的内容。
显示:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.0.3705; .NET CLR 1.1.4322; .NET CLR 2.0.50727) 23
$_SERVER['HTTPS']//如果通过https访问,则被设为一个非空的值(on),否则返回off 显示:
24
$_SERVER['SCRIPT_FILENAME'] #当前执行脚本的绝对路径名。 显示:D:/Program Files/Apache/www/test.php
25
$_SERVER['SERVER_ADMIN'] #管理员信息 显示:w@w.com 26
$_SERVER['SERVER_PORT'] #服务器所使用的端口 显示:8080 27
$_SERVER['SERVER_SIGNATURE'] #包含服务器版本和虚拟主机名的字符串。 显示:Apache/2.0.52 (Win32) PHP/5.2.1 Server at 10.145.40.150 Port 8080
28
$_SERVER['PATH_TRANSLATED'] #当前脚本所在文件系统(不是文档根目录)的基本路径。 显示: 29
$_SERVER['SCRIPT_NAME'] #包含当前脚本的路径。这在页面需要指向自己时非常有用。 显示 :/test.php
30
$_SERVER['PHP_AUTH_USER'] #当 PHP 运行在 Apache 模块方式下,并且正在使用 HTTP 认证功能,这个变量便是用户输入的用户名。 显示:
31
$_SERVER['PHP_AUTH_PW'] #当 PHP 运行在 Apache 模块方式下,并且正在使用 HTTP 认证功能,这个变量便是用户输入的密码。 显示:
32
$_SERVER['AUTH_TYPE'] #当 PHP 运行在 Apache 模块方式下,并且正在使用 HTTP 认证功能,这个变量便是认证的类型
$_ENV[]:包含环境变量的超全局数组
$_GET[]:是一个包含所有以HTTP GET方式传递的变量的超全局数组
$_POST[]:是一个包含所有以HTTP POST方式传递的变量的一个超全局数组。 $_FILES[]:是一个通过HTTP POST方式传递的已经上传文件项目组成的数组。 $_COOKIE[]:是一个通过HTTP Cookies传递的变量所组成的一个超全局数组 $_SESSION[]:是一个当前脚本中session变量的一个超全局数组
$_REQUEST[]是一个包含$_GET[],$_POST[],和$_COOKIE[]数组中全部内容的超全局数组 36.print和echo
Print只支持一个参数,而echo支持多个参数
Print输出字符串总是返回值1,而echo输出字符串将不返回值。
正则表达式: 元字符 用途 . 所有单个字符 | 分隔多个模式 - 指定一个字符范围 ^ 出现在行头或在字符串开头 $ 匹配行尾货字符串尾 \\d 匹配所有的一位数字 \\D \\d的相反,匹配所有的非数字字符 \\i 不区分大小写 [A-Z] 匹配所有A到Z的任意一个 [^A-Z] 匹配所有非 A到Z的任意 X? 出现0次或1次 X* 零个或多个 X+ 一个或多个 X{n} 匹配n个 X{n,m} 匹配n到m个 \\b 代表单词的开头或结尾 正则表达式返回正则表达式匹配的结果。 进行正则表达式匹配函数:
1.Int preg_match(string 正则表达式, string 需要匹配的字符串[,array 用于存储匹配结果的数组(可选)][,PREG_OFFET_CAPTURE标记是否也存储偏移量])。
返回的结果是返回匹配成功与否,如果成功,就返回1,否则就返回0.
$str = \; $pattern = \;
$count = preg_match($pattern, $str,$result); print_r($result); echo \; echo \$count\; ?> 效果:
$str = \; $pattern = \;
$count = preg_match($pattern, $str,$result,PREG_OFFSET_CAPTURE); print_r($result); echo \; echo \$count\; ?>
效果如下:
我们可以看到,结果数组多了一条数据,记录匹配成功的偏移量是11 上面那个函数是只能匹配第一个,匹配到就结束了。 2.如果是preg_match_all()就可以全部匹配 最后一个可选参数有三个选项: PREG_PATTERN_ORDER(默认) PREG_SET_ORDER
PREG_OFFSET_CAPTURE 3.匹配数组:preg_grep
Array preg_grep(string $pattern, array $input[,int $flags]) 返回值是数组,用键值表示
Flag:如果是PREG_GREP_INVERT,则返回的是不匹配的。
$arr = array(\,\,\,\,\,\); $pattern =\;
$result = preg_grep($pattern, $arr);
$result1 = preg_grep($pattern, $arr,PREG_GREP_INVERT); print_r($result); echo \; print_r($result1); ?>
上面是匹配的数据,下面是不匹配的数据 4.正则表达式的搜索以及替换
Mixed preg_replace(mixed $正则表达式,mixed $准备进行替换的字符串或正则表达式,mixed $需要匹配的字符串[,int 次数])
如果次数缺省或为-1,就表示全部替换。 返回结果为替换后的东西。
$arr = \; $pattern =\; $repstr = \;
$result = preg_replace($pattern, $repstr, $arr); echo $result; ?>
效果如下: