自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

苦修

路漫漫其修远兮,吾将上下而求索

  • 博客(39)
  • 收藏
  • 关注

原创 新建数据库报错[ERR] 1067 - Invalid default value for ‘字段名’

原因:这种报错可能是你 mysql 升级到 5.7++ 而引起的默认值不兼容的问题。看看你的字段名是什么,我的是时间字段,类型是 datetime。想到可能是类型的默认值被限制了,查看 sql_mode。果然:NO_ZERO_IN_DATE,NO_ZERO_DATE这两个参数限制时间不能为0,因此需要把这两个删掉将 sql_mode 的类容拷贝出来,删掉 NO_ZERO_IN_DATE,...

2019-03-01 21:40:31 8142 3

原创 获取上个月第一天 和 最后一天

目录获取上个月第一天 和 最后一天//获取上个月第一天date('Y-m-01',strtotime('-1 month')); //获取上个月最后一天date('Y-m-t',strtotime('-1 month'));

2019-02-20 22:34:00 4838

原创 无限级分类

目录无限级分类function getTree($array, $pid =0, $level = 0){ //声明静态数组,避免递归调用时,多次声明导致数组覆盖 static $list = []; foreach ($array as $key => $value){ //第一次遍历,找到父节点为根节点的节点 也就是pid=0的节点 ...

2019-02-20 22:31:03 247

原创 斐波那契数列

目录有个人想上一个n级的台阶,每次只能迈1级或者迈2级台阶,问:这个人有多少种方法可以把台阶走完?例如:总共3级台阶,可以先迈1级再迈2级,或者先迈2级再迈1级,或者迈3次1级总共3中方式function jieti($num){ //实际上是斐波那契数列 return $num<2?1:jieti($num-1)+jieti($num-2);}...

2019-02-20 22:10:21 192

原创 从一个标准的Url提取出文件的扩展名

目录从一个标准的Url提取出文件的扩展名function getExt($url){ $arr = parse_url($url); $file = basename($arr['path']);// basename函数返回路径中的文件名部分 $ext = explode('.', $file); return $ext[count($ext)-1];}e...

2019-02-20 22:04:11 598

原创 字符集合:输入一个字符串,求出该字符串包含的字符集合,并按顺序排序(英文)

目录字符集合:输入一个字符串,求出该字符串包含的字符集合,并按顺序排序(英文)function set ($str) { $arr = str_split($str); $arr = array_unique($arr); sort($arr); return implode('', $arr);}echo set("aawewewqqsdferftwed...

2019-02-20 21:56:38 2648 1

原创 有一母牛,到4岁可生育,每年一头,所生均是一样的母牛,到15岁绝育,不再能生,20岁死亡,问n年后有多少头牛

目录有一母牛,到4岁可生育,每年一头,所生均是一样的母牛,到15岁绝育,不再能生,20岁死亡,问n年后有多少头牛。function niu($y){ static $num= 1; //定义静态变量;初始化牛的数量为1 for ($i=1; $i <=$y ; $i++) { if ($i >= 4 && $i < 15) { ...

2019-02-20 21:20:48 1828 1

原创 查找算法

知识目录顺序查找对某个数组,按照顺序,一个一个比较,找到要的数据/** * @param $array 数组 * @param $search 需要查找的值 * @return bool */function orderSearch($array, $search){ $bool = false; foreach ($array as $k => ...

2019-02-20 20:49:23 115

原创 排序算法

目录冒泡排序在要排序的一组数中,对当前还未排好的序列,从前往后对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。即,每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。function bubbleSort($arr){ $len = count($arr); for ($i = 1; $i <= $len; $i++) { ...

2019-02-20 00:03:00 165

原创 约瑟夫环

目录一群猴子排成一圈,按1,2,…,n依次编号。然后从第1只开始数,数到第m只,把它踢出圈,从它后面再开始数,再数到第m只,在把它踢出去…,如此不停 的进行下去,直到最后只剩下一只猴子为止,那只猴子就叫做大王。要求编程模拟此过程,输入m、n, 输出最后那个大王的编号/** * 约瑟夫环 * 一群猴子排成一圈,按1,2,…,n依次编号。 * 然后从第1只开始数,数到第m只,把它踢出圈,从它...

2019-02-19 23:31:36 183

原创 写一个函数,可以遍历文件夹下的所有文件和文件夹

知识目录function getDirInfo($path){ $handle = opendir($path);//打开目录返回句柄 while(($content = readdir($handle))!== false){ $new_dir = $path . DIRECTORY_SEPARATOR . $content; if($c...

2019-02-19 18:44:36 1232

原创 PHP 如何获取客户端的IP地址

知识目录/*** 获取客户端IP地址* @param integer $type 返回类型 0 返回IP地址 1 返回IPV4地址数字* @param boolean $adv 是否进行高级模式获取(有可能被伪装)* @return mixed*/public static function getClientIp($type = 0, $adv = true){ $type...

2019-02-19 18:42:01 1413

原创 php获取文件内容的方法,对应的函数

知识目录file_get_contents 得到文件的内容(可以以get和post的方式获取),整个文件读入一个字符串中用fopen打开url, 以get方式获取内容(借助fgets()函数)用fsockopen函数打开url(可以以get和post的方式获取),以get方式获取完整的数据,包括header和body使用curl库获取内容,使用curl库之前,需要查看php.ini,查看...

2019-02-19 18:04:55 1719

原创 json格式数据有哪些特点

知识目录JSON 一种轻量级的数据交换格式。它基于 ECMAScript 的一个子集。 JSON 采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C、C++、C#、Java、JavaScript、Perl、 Python等)。这些特性使 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成(网络传输速率)。JSON 的结构基于下面两点"名称...

2019-02-19 18:02:53 5073

原创 写个函数来解决多线程同时读写一个文件的问题

知识目录<?php $fp = fopen("/tmp/lock.txt", "w+"); if(flock($fp, LOCK_EX)){ // 进行排它型锁定 fwrite($fp, "Write something here\n"); flock($fp, LOCK_U

2019-02-19 17:10:12 4258

原创 heredoc

知识目录Heredoc在正规的PHP文档中和技术书籍中一般没有详细讲述。他是一种Perl风格的字符串输出技术。使用heredoc技术可以实现界面与代码的准分离,比如phpwind模板。heredoc的语法是用”<<<”加上自己定义成对的标签,在标签范围內的文字视为一个字符串规则如下:1、以<<<End开始标记开始,以End结束标记结束,结束标记必须顶头写...

2019-02-19 17:08:21 2974

原创 不用新变量直接交换现有两个变量的值

知识目录第一种list($a, $b) = array($b, $a);第二种$a = $a . $b;$b = strlen( $b );$b = substr( $a, 0, (strlen($a) – $b ) );$a = substr( $a, strlen($b) );第三种# 必须用一个两个字符串都都不能出现的字符做为分隔符$a = $b.','....

2019-02-19 17:05:41 549

原创 php数组函数常见的那些? (array_merge、in_array的作用) PHP中以array_开头的数组函数有哪些,并说出使用方法(至少6个)

知识目录一、数组遍历函数1 list(); //不是真正的函数,而是PHP的语言结构,用于给一组变量赋值,仅能用于索引数组2 each(); //返回数组当前元素的键值对,并将指针移动到下一个元素位置3 while(); //可配合list或each使用:while(list($key, value)=each(value) = each(value)=each(arr)){each...

2019-02-18 18:47:26 533

原创 HTTP Keep-Alive的作用

作用:Keep-Alive:使客户端到服务器端的连接持续有效,当出现对服务器的后继请求时,Keep-Alive功能避免了建立或者重新建立连接。Web服务器,基本上都支持HTTP Keep-Alive。缺点:对于提供静态内容的网站来说,这个功能通常很有用。但是,对于负担较重的网站来说,虽然为客户保留打开的连接有一定的好处,但它同样影响了性能,因为在处理暂停期间,本来可以释放的资源仍旧被占用。当We...

2019-02-18 18:06:30 1450

原创 PHP中几个输出函数echo,print(),print_r(),sprintf(),var_dump()的区别

1:echo:是语句不是函数,没有返回值,可输出多个变量值,不需要圆括号。不能输出数组和对象,只能打印简单类型(如int,string)。2:print:是语句不是函数,有返回值 1 ,只能输出一个变量,不需要圆括号。不能输出数组和对象,只能打印简单类型(如int,string)。3:print_r:是函数,可以打印复合类型,例如:stirng、int、float、array、object等,...

2019-02-18 18:04:26 3318

原创 魔术方法

目录__construct(): 构造函数,构造函数的类会在每次创建新对象时先调用此方法,所以非常适合在使用对象之前做一些初始化工作。__destruct(): 析构函数会在到某个对象的所有引用都被删除或者当对象被显式销毁时执行。__call(): 在对象中调用一个不可访问方法时,__call() 会被调用。__callStatic(); 在静态上下文中调用一个不可访问方法时,__call...

2019-02-14 17:47:51 145

原创 字符串函数

目录addcslashes — 以 C 语言风格使用反斜线转义字符串中的字符addslashes — 使用反斜线引用字符串bin2hex — 函数把包含数据的二进制字符串转换为十六进制值chop — rtrim 的别名chr — 返回指定的字符chunk_split — 将字符串分割成小块convert_cyr_string — 将字符由一种 Cyrillic 字符转换成另一种co...

2019-02-14 17:31:05 83

原创 PHP 知识总结

PHP 基础变量的传值与引用传值:$b = $a //将a变量的值传值给b变量。//调式传值$a = 100;$b = 200;$b = $a;echo $b; //100$a = 300;echo $b; //100$b = 300;echo $a; //300unset ($a);echo $a;echo $b;传引用: $b = &$a //...

2019-02-14 17:04:23 1309

原创 数组遍历的四种方法

目录使用 for 循环遍历数组count($arr) // 用于统计数组元素的个数for循环只能用于遍历,纯索引数组!!!!如果存在关联数组,count统计时会统计两种数组的总个数,使用for循环遍历混合数组,导致数组越界!!$arr = array(1, 2, 3, 5, 6, 7);$num = count($arr); // count 最好放到for外面,可...

2019-02-14 17:03:45 6272

原创 PHP数组,数组函数

目录array_change_key_case — 将数组中的所有键名修改为全大写或小写array_chunk — 将一个数组分割成多个array_column — 返回数组中指定的一列array_combine — 创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值array_count_values — 统计数组中所有的值array_diff_assoc — 带索引检查...

2019-02-14 17:02:14 309

转载 匿名函数和闭包(closure)

将匿名函数放在普通函数中,也可以将匿名函数返回,这就构成了一个简单的闭包function closureFunc1(){ $func = function(){ echo "hello"; }; $func();}closureFunc1(); // 输出: hello在匿名函数中引用局部变量function closureFunc2()...

2019-02-14 16:57:30 658

原创 php运算符优先级,一般是写出运算符的运算结果

查看目录eg:$a = 3 * 3 % 5; // (3 * 3) % 5 = 4// ternary operator associativity differs from C/C++$a = true ? 0 : true ? 1 : 2; // (true ? 0 : true) ? 1 : 2 = 2$a = 1;$b = 2;$a = $b += 3; // $a =...

2019-02-14 16:55:45 1045

原创 变量的类型转换和判断类型方法。

类型判断is_numeric ( mixed var ): //检验测定变量是不是为数码或数码字符串 is_bool(): //检验测定变量是不是是布尔型 is_float(): //检验测定变量是不是是浮点型和 is_double,is_real() 都同样的用法 is_int(): //检验测定变量是不是是整数 is_integer() 同样的用法 is_string()...

2019-02-14 16:51:30 1040

原创 变量的传值与引用

传值:$b = $a //将a变量的值传值给b变量。//调式传值$a = 100;$b = 200;$b = $a;echo $b; //100$a = 300;echo $b; //100$b = 300;echo $a; //300unset ($a);echo $a;echo $b;传引用: KaTeX parse error: Expected 'EOF',...

2019-02-14 16:44:24 493

原创 msyql group by 分组获取最新一条数据

当在开发环境中,偶尔会遇到一种情况,mysql table 中针对用同个户信息保存了多条记录,而我们想要获取最近更新的记录在常规中我们单纯的使用 group by ,然而并没有达到目的eg: select phone, FROM_UNIXTIME(created_at) as time FROM cms_h5_user WHERE phone=15812859010+----...

2018-09-10 17:43:52 2737

原创 二维数组通过某个键排序

二维数组排序问题通过二维数组中的某个键,实现整个二维数组排序,不说多了,看源码$arr = [ 'a' => [ 'name' => '对的', 'num' => 20, ], 'b' => [ 'name' => 'as', 'num' => 32, ],...

2018-08-22 18:39:32 1941

原创 最好用的发短信(验证码、语音短信)接口

使用阿里大鱼短信接口注册进入大鱼页面,如果没有账号,则自行注册,再此不在过多详述。注册完成或者有账号的则在首页中点击加入“加入阿里大鱼”,如下: 创建引用点击“管理中心”,然后再点击右上角的进入“开发者控制台”。 点击右上角的“创建应用”。 点击其他,选择“阿里大鱼”应用标签,创建应用。 输入应用名称,创建应用即可获得App Key。 创建应用后自动跳转至...

2018-08-19 22:06:02 37627 6

原创 浅谈 const 与 define 的区别

浅述:const用于类成员变量的定义,同时const本身就是一个语言结构,而 define是一个函数,const在编译的时候要比define快很多,所以建议,在能使用const中的场合就使用const区别:const用于类成员变量的定义,只要一定义,不可修改。define 不可用于类成员变量的定义,但是可以用于全局变量。const不能在条件语法中定义,而define可以,比如...

2018-08-19 22:02:36 7958

原创 SVN 使用 clean up 失败处理

相信使用SVN的朋友都会经常遇到 commit/upload 失败问题,当使用 clean up 时同样失败 ,处理方法如下:下载 sqlite3.exe将下载的 sqlite3.exe 放到 项目.svn同级目录中启动 cmd ,切换目录到 .svn 同级目录中执行 sqlite3 .svn/wc.db “select * from work_queue” 查询到 wc.db 数据表...

2018-08-19 22:01:32 142

原创 谷歌浏览器上传图片和图片另存为就卡死崩溃解决方案

当在谷歌浏览器中,我们点击选择文件,或者图片另存为的时候就出现浏览器卡死或者崩溃现象解决方案将输入法切换为英文即可解决

2018-08-17 18:11:17 9490 5

转载 Golang切片和数组底层详解

切片是 Go 中的一种基本的数据结构,使用这种结构可以用来管理数据集合。切片的设计想法是由动态数组概念而来,为了开发者可以更加方便的使一个数据结构可以自动增加和减少。但是切片本身并不是动态数据或者数组指针。切片常见的操作有 reslice、append、copy。与此同时,切片还具有可索引,可迭代的优秀特性。一. 切片和数组关于切片和数组怎么选择?接下来好好讨论讨论这个问题。在 G...

2018-08-16 22:22:09 3431

转载 golang语言并发与并行——goroutine和channel的详细理解(三)

Go语言并发的设计模式和应用场景以下设计模式和应用场景来自Google IO上的关于Goroutine的PPT:https://talks.golang.org/2012/concurrency.slide本文的示例代码在: https://github.com/hit9/Go-patterns-with-channel生成器在Python中我们可以使用yield关键字来让一个...

2018-08-15 21:53:40 248

转载 golang语言并发与并行——goroutine和channel的详细理解(二)

Go语言的并发和并行不知道你有没有注意到一个现象,还是这段代码,如果我跑在两个goroutines里面的话:var quit chan int = make(chan int)func loop() { for i := 0; i < 10; i++ { fmt.Printf("%d ", i) } quit <- 0}f...

2018-08-15 21:46:14 292

转载 golang语言并发与并行——goroutine和channel的详细理解(一)

如果不是我对真正并行的线程的追求,就不会认识到Go有多么的迷人。 Go语言从语言层面上就支持了并发,这与其他语言大不一样,不像以前我们要用Thread库 来新建线程,还要用线程安全的队列库来共享数据。 以下是我入门的学习笔记。...

2018-08-15 18:12:06 163

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除