检查一个变量是否为空
- empty功能
- 返回值:
- 若变量不存在则返回 TRUE
- 若变量存在且其值为””、0、”0”、NULL、FALSE、 array()、var $var; 以及没有任何属性的对象,则返回 TURE
- 若变量存在且值不为””、0、”0”、NULL、FALSE、 array()、var $var; 以及没有任何属性的对象,则返回 FALSE
函数支持版本:(PHP 4, PHP 5, PHP 7
PHP提取字符串中的数字
使用正则表达式:
1
2
3
4
5
6
7
8
9
10function findNum($str=''){
$str=trim($str);
if(empty($str)){return '';}
$reg='/(\d{3}(\.\d+)?)/is';//匹配数字的正则表达式
preg_match_all($reg,$str,$result);
if(is_array($result)&&!empty($result)&&!empty($result[1])&&!empty($result[1][0])){
return $result[1][0];
}
return '';
}in_array方法:
1
2
3
4
5
6
7
8
9
10
11
12function findNum($str=''){
$str=trim($str);
if(empty($str)){return '';}
$temp=array('1','2','3','4','5','6','7','8','9','0');
$result='';
for($i=0;$i<strlen($str);$i++){
if(in_array($str[$i],$temp)){
$result.=$str[$i];
}
}
return $result;
}is_numeric函数:
1
2
3
4
5
6
7
8
9
10
11function findNum($str=''){
$str=trim($str);
if(empty($str)){return '';}
$result='';
for($i=0;$i<strlen($str);$i++){
if(is_numeric($str[$i])){
$result.=$str[$i];
}
}
return $result;
}
PHP操作数组
创建空数组
1
2$x = [];
var_dump($x); // array(0) {}php 合并数组,且不重复相同的元素
1
2
3
4
5$a = array("1","3","5","10","15");
$b = array("1","3","5","6","9");
$x = array_unique(array_merge($a,$b));
var_dump($x);
// 结果:array("1","3","5","10","15","6","9" )php找到两个数组中相同的元素
1
2
3
4
5
6
7
8
9
10
11
12
13
14// 找出两个数组相同的项
function getSameArr($a1,$a2){
$alength = count($a1);
for ($i=0; $i <$alength ; $i++) {
if (in_array($a1[$i],$a2)) {
$sameArr[] = $a1[$i];
}
}
if ($sameArr) {
return $sameArr;
}else{
return array("0");
}
}
前端显示若超过字数,后面使用省略号
1 | <?php |
文件上传
修改PHP上传文件的大小限制
使用POST请求提交的数据大小超过了服务器的最大限制数(8388608字节=8MB)会报告如下错误:
1 | Warning: POST Content-Length of 625523488 bytes exceeds the limit of 8388608 bytes in Unknown on line 0 |
如果需要的话,可以通过修改PHP的配置文件php.ini
中的post_max_size
参数的值。
在PHP的配置文件php.ini
中,默认存在如下配置信息(在php.ini中,行首的分号”;”表示当前行是注释,不会生效):
1 | ;脚本解析输入数据(类似 POST 和 GET)允许的最大时间,单位是秒。 它从接收所有数据到开始执行脚本进行测量的。 |
PHP获取站点根目录
获取文件路径
1
2
3
4
5<?php
echo __FILE__ ; // 取得当前文件的绝对地址,结果:D:\www\test.php
echo dirname(__FILE__); // 取得当前文件所在的绝对目录,结果:D:\www\
echo dirname(dirname(__FILE__)); //取得当前文件的上一层目录名,结果:D:\
?>
- 魔术常量
__FILE__
:取得当前文件的路径,这里的路径包含了文件名;dirname(__FILE__)
:返回一层目录;realpath()
函数:返回绝对路径,删除所有符号连接(比如 ‘/./‘, ‘/../‘ 以及多余的 ‘/‘),返回绝对路径名,若失败(如文件不存在),则返回 false。
- 路径方式
1 | define('BASE_PATH',str_replace('\\','/',realpath(dirname(__FILE__).'/'))."/"); |
str_replace( '\\' , '/' , realpath(dirname(__FILE__).'/../'))
:把向左的“\”转化成向右的“/”。
- url方式
1 | PHP_SELF=$_SERVER['PHP_SELF']; |
PHP取得站点根目录
1
2
3
4
5echo $_SERVER['HTTP_HOST']; //当前请求的 Host: 头部的内容 即域名信信息
echo $_SERVER['PHP_SELF']; //当前正在执行脚本的文件相对网站根目录地址,就算该文件被其他文件引用也可以正确得到地址
echo $_SERVER['SCRIPT_NAME']; //当前正在执行脚本的文件相对网站根目录地址,但当该文件被其他文件引用时,只显示引用文件的相对地址,不显示该被引用脚本的相对地址。
echo $_SERVER['DOCUMENT_ROOT']; //网站相对服务器地址即网站的绝对路径名 #当前运行脚本所在的文档根目录。在服务器配置文件中定义
echo $_SERVER['SCRIPT_FILENAME']; //当前执行脚本的绝对路径名。