记录一下在windows10下安装java的过程:
1、首先访问官网下载java8,此版本兼容较好且稳定,下载时注意与自己的系统匹配(安装时可能需要注册登录):
https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
2、安装界面,点击下一步

3、选择安装路径,点击下一步



4、安装好的根目录

5、配置环境变量,打开配置文件,此电脑-右键-属性-高级系统设置-环境变量



6、新建用户环境变量,变量名为JAVA_HOME,变量值为javaJDK的安装目录


7、找到用户变量中的path,双击编辑,点击编辑文本,在后面加上:
;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin


8、点击系统变量中的新建,新增变量名为CLASSPATH的变量,值为:
.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar

9、然后点击确定关闭即可。
10、windows+R,输入cmd,回车,输入java -version查看是否安装成功。

11、end
打开某度搜索,每次点击某度一下后最前面的结果一定是广告,于是如何去除某度的搜索广告成了此篇文章出现的一个原因。
当然后面也扩展了一些其他方法,能够使搜索结果更加准确快捷。。。
intitle: (关键词)
例:
搜索牙疼。使用此方法搜索后结果中将不会出现广告。
使用方式:
intitle: 牙疼
intext: (关键词)
例:
搜索正文中带有牙疼偏方关键词的内容。
使用方式:
intext: 牙疼偏方
(关键词) filetype:(文件类型)
其中常见文件类型有:
pdf:PPDF文件
xls:Excel文件
ppt:PowerPoint文件
doc:Word文档
txt:文本文档
例:
搜索菜谱pdf相关的内容。
使用方式:
菜谱 filetype:pdf
(关键词) inurl: (网站类型)
其中常见的网站类型有:
.com:商业组织和公司
.net:网络服务商
.gov:政府部门
.org:非盈利组织
.int:国际组织
.edu:教育部门
例:
搜索有关北京地区的教育网站。
使用方式:
北京 inurl:.edu
起始年份..结束年份
例:
搜索2015年到2018年的信息
使用方式:
2015..2018
例:
搜索标题带4G网络的2010年到2015年的ppt文件。
使用方式:
intitle: 4G网络 filetype:ppt 2010..2015
/**
* 车牌号验证
* @param $license
* @return bool
*/
function iscarid($license)
{
if (empty($license)) {
return false;
}
//匹配民用车牌和使馆车牌
// 判断标准
// 1,第一位为汉字省份缩写
// 2,第二位为大写字母城市编码
// 3,后面是5位仅含字母和数字的组合
$regular = "/[京津冀晋蒙辽吉黑沪苏浙皖闽赣鲁豫鄂湘粤桂琼川贵云渝藏陕甘青宁新使]{1}[A-Z]{1}[0-9a-zA-Z]{5}$/u";
preg_match($regular, $license, $match);
if (isset($match[0])) {
return true;
}
//匹配特种车牌(挂,警,学,领,港,澳)
//参考 https://wenku.baidu.com/view/4573909a964bcf84b9d57bc5.html
$regular = '/[京津冀晋蒙辽吉黑沪苏浙皖闽赣鲁豫鄂湘粤桂琼川贵云渝藏陕甘青宁新]{1}[A-Z]{1}[0-9a-zA-Z]{4}[挂警学领港澳]{1}$/u';
preg_match($regular, $license, $match);
if (isset($match[0])) {
return true;
}
//匹配武警车牌
//参考 https://wenku.baidu.com/view/7fe0b333aaea998fcc220e48.html
$regular = '/^WJ[京津冀晋蒙辽吉黑沪苏浙皖闽赣鲁豫鄂湘粤桂琼川贵云渝藏陕甘青宁新]?[0-9a-zA-Z]{5}$/ui';
preg_match($regular, $license, $match);
if (isset($match[0])) {
return true;
}
//匹配军牌
//参考 http://auto.sina.com.cn/service/2013-05-03/18111149551.shtml
$regular = "/[A-Z]{2}[0-9]{5}$/";
preg_match($regular, $license, $match);
if (isset($match[0])) {
return true;
}
//匹配新能源车辆6位车牌
//参考 https://baike.baidu.com/item/%E6%96%B0%E8%83%BD%E6%BA%90%E6%B1%BD%E8%BD%A6%E4%B8%93%E7%94%A8%E5%8F%B7%E7%89%8C
//小型新能源车
$regular = "/[京津冀晋蒙辽吉黑沪苏浙皖闽赣鲁豫鄂湘粤桂琼川贵云渝藏陕甘青宁新]{1}[A-Z]{1}[DF]{1}[0-9a-zA-Z]{5}$/u";
preg_match($regular, $license, $match);
if (isset($match[0])) {
return true;
}
//大型新能源车
$regular = "/[京津冀晋蒙辽吉黑沪苏浙皖闽赣鲁豫鄂湘粤桂琼川贵云渝藏陕甘青宁新]{1}[A-Z]{1}[0-9a-zA-Z]{5}[DF]{1}$/u";
preg_match($regular, $license, $match);
if (isset($match[0])) {
return true;
}
return false;
} S:Sever服务器
C:Client
B:Browser
具有分布性的特点(前后端分离),可以随时随地进行查询、浏览等业务处理。
业务扩展简单,通过增加网页即可增加服务器功能。
维护简单方便,只需要改变网页,即可实现所有用户的同步更新。
不需要安装客户端,可以直接运行在web浏览器中。
逻辑结构比C/S多一层,处理速度较慢。
交互能力较差,不能够在子程序间自由切换。
安全性较差,许多信息容易暴露在浏览器中。
应用服务器运行数据负荷较轻。
具有较强的事务处理能力,能实现复杂的业务流程。
由于客户端与服务器直接相连,中间没有环节,因此响应速度更快。
数据的储存管理功能较为透明,这是相当于前台用户来说的,他们无需过问(也无法干涉)背后的逻辑过程。
客户端需要安装专用的客户端软件。
对客户端的操作系统一般也会有限制。
兼容性差,对于不同的开发工具有较大的局限性。
开发成本相对较高。需要一定专业水准的技术人员才能完成。
情景:
假设知道一部分身份证信息,想要把出生年月日提取出来就可以使用这两个函数。
语法:
MID(字符串,开始位置,字符个数) MIDB(字符串,开始位置,字节个数)
说明:
字符串:需要截取的文本字符串。
开始位置:需要从第几个开始截取,第一个字符(字节)为1。
字符(字节)个数:需要从开始位置截取多少个字符(字节)。
MID是按照字符截取,不管是文字,还是字母、数字、符号每个都算一个字符,
而MIDB除去字母、数字、符号,每个中文字符都相当于两个字节,也就是说截取中文字符都是2的倍数,例如截取一个汉字则填写2,如果写3还是返回一个中文字符。
注意:
而LEFT()和RIGHT()与MID()和MIDB()等同于去掉‘开始位置’参数的用法。
RIGHT()等于是从字符串右边第一个字符开始向左边截取指定个数的字符。
LEFT()相反,等于是从左边第一个字符开始向右边截取指定个数的字符。


假设同一个Excel中有sheet1和sheet2两个表,现在要想把sheet1中名字对应的年龄补全,则就可以用到vlookup()方法。
例如匹配sheet1表中A2对应的B2数据:
VLOOKUP(A2,Sheet2!A2:B15,2,FALSE)
语法:
VLOOKUP (查找值, 数据表, 列序数, [匹配条件])
说明:
查找值:需要在‘数据表’中查找的值。可以为数值、文本字符串或引用。当省略此参数时,表适用0进行查找。
数据表:需要查找的数据范围,可以在同一个sheet表中查找数据,也可以在不同的sheet表中查找,可直接用鼠标进行框选数据范围。例如:当前表可用A2:B12表示,匹配sheet2表数据可用Sheet2!A2:B15表示。
列序数:表示匹配成功时返回那一列的表数据,例如当前案例为2,就是匹配成功后返回第二列的数据。
【匹配条件】:可不填写,默认为TRUE。指明精准匹配,还是近似匹配。
如果设置为FALSE是精准匹配,TRUE为近似匹配。当设置为FALSE时,两者必须完全相同。
设置为TRUE时,返回最相似的结果。
结果:如果设置错误则返回#VALUE!
/**
* 两个时间戳之间的间隔天数,按照日期算
* @param $time1
* @param $time2
* @return mixed
*/
function interval_days($time1,$time2)
{
$cha = date_diff(date_create(date('Ymd', $time1)), date_create(date('Ymd', $time2)));
return $cha->days;
} /**
* PHP计算两个时间段交集时间
* @param int $beginTime1 开始时间1
* @param int $endTime1 结束时间1
* @param int $beginTime2 开始时间2
* @param int $endTime2 结束时间2
* @return int
*/
function is_time_cross($beginTime1 = 0, $endTime1 = 0, $beginTime2 = 0, $endTime2 = 0)
{
//////////剔除没有交集的情况,在一段时间的两侧情况
if (($beginTime1 < $beginTime2 && $endTime1 = $endTime2 && $endTime1 > $endTime2)) {
return 0;
}
/////////假设一段时间在另一段时间之内的情况
//当time2完全在time1的范围内时
if ($beginTime2 >= $beginTime1 && $endTime2 = $beginTime2 && $endTime1 <= $endTime2) {
return $endTime1 - $beginTime1;
}
/////////假设一段时间在另一段时间开始或结尾处
//当time1范围在$beginTime2范围左右时
if ($beginTime1 < $beginTime2 && $endTime1 > $beginTime2) {
return $endTime1 - $beginTime2;
}
//当time1范围在$endTime2范围左右时
if ($beginTime1 < $endTime2 && $endTime2 < $endTime1) {
return $endTime2 - $beginTime1;
}
//当time2范围在$beginTime1范围左右时
if ($beginTime2 < $beginTime1 && $endTime2 > $beginTime1) {
return $endTime2 - $beginTime1;
}
//当time2范围在$endTime1范围左右时
if ($beginTime2 < $endTime1 && $endTime1 < $endTime2) {
return $endTime1 - $beginTime2;
}
} /**
* 通过IP获取地址
* @param string $ip
* @return string
*/
function get_address($ip = '')
{
$ipadd = get_url("https://api.map.baidu.com/location/ip?ak=" . "这里去百度申请ak" . "&ip=" . $ip);
$data = json_decode($ipadd);
return $data;
} /**
* 是否为手机端
* @return bool
*/
function is_Mobile()
{
// 如果有HTTP_X_WAP_PROFILE则一定是移动设备
if (isset($_SERVER['HTTP_X_WAP_PROFILE'])) {
return true;
}
// 如果via信息含有wap则一定是移动设备,部分服务商会屏蔽该信息
if (isset($_SERVER['HTTP_VIA'])) {
// 找不到为flase,否则为true
return stristr($_SERVER['HTTP_VIA'], "wap") ? true : false;
}
// 脑残法,判断手机发送的客户端标志,兼容性有待提高。其中'MicroMessenger'是电脑微信
if (isset($_SERVER['HTTP_USER_AGENT'])) {
$clientkeywords = array('nokia', 'sony', 'ericsson', 'mot', 'samsung', 'htc', 'sgh', 'lg', 'sharp', 'sie-', 'philips', 'panasonic', 'alcatel', 'lenovo', 'iphone', 'ipod', 'blackberry', 'meizu', 'android', 'netfront', 'symbian', 'ucweb', 'windowsce', 'palm', 'operamini', 'operamobi', 'openwave', 'nexusone', 'cldc', 'midp', 'wap', 'mobile', 'MicroMessenger');
// 从HTTP_USER_AGENT中查找手机浏览器的关键字
if (preg_match("/(" . implode('|', $clientkeywords) . ")/i", strtolower($_SERVER['HTTP_USER_AGENT']))) {
return true;
}
}
// 协议法,因为有可能不准确,放到最后判断
if (isset ($_SERVER['HTTP_ACCEPT'])) {
// 如果只支持wml并且不支持html那一定是移动设备
// 如果支持wml和html但是wml在html之前则是移动设备
if ((strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') !== false) && (strpos($_SERVER['HTTP_ACCEPT'], 'text/html') === false || (strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') < strpos($_SERVER['HTTP_ACCEPT'], 'text/html')))) {
return true;
}
}
return false;
}