自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

NULL码农

编程让世界更便捷

  • 博客(114)
  • 资源 (3)
  • 收藏
  • 关注

原创 Python计算统计分析MSE 、 RMSE、 MAE、r2

利用Python,sklearn库计算统计分析MSE 、 RMSE、 MAE、r2

2022-01-22 16:38:04 56778

原创 异常处理日志记录

在我们工作当中无法避免bug,为了能快速解决bug,需要能精准快速的定位问题所在。这就需要我们将每次异常日志完整的记录下来,包括传入的参数,在哪个类的哪个方法哪一行报错的在php中常使用getTrace来定位问题所在<?phpfunction test() { throw new Exception;}try { test();} catch(Exception $e) {...

2019-09-04 17:04:50 971

原创 处理多维数组

在实际工作,我们经常会遇到对多维数组的处理,一般就会采用多重循环的方式,直到数组的最里面那一层或者使用递归来处理,在php中可以使用array_walk_recursive来灵活处理 /** * @desc 处理多维数组 * @param array $data 待处理数据 * @param array $field 处理字段数组 */ publi...

2019-09-02 17:58:17 519

原创 form表单name命名问题

在实际开发中,需要使用二维数组,所以form,name命名规则应该这样才能正确使用<input class="txt" type="text" name="port[te1]" value="1"><input class="txt" type="text" name="port[te2]" value="2"><input class="txt" type="...

2019-08-02 11:14:58 1707

原创 无限分类算法

//无限分类--递归算法function treeNode($data,$parentId = 0) { // 用于保存整理好的分类节点 $node = []; // 循环所有分类 foreach ($data as $value) { // 如果当前分类的父id等于要寻找的父id则写入$node数组...

2019-07-29 10:17:48 366

原创 phpize作用

今天在ubuntu安装php的redis拓展遇到问题安装步骤应用场景在使用php的过程中,我们常常需要去添加一些PHP扩展库。但是重新对php进行编译是比较蛮烦的,所以这时候我们可以使用phpize对php进行添加扩展。并且phpize编译的扩展库可以随时启用或停用,比较灵活。使用方法extention为要挂载的扩展包wget extension.tar.gz下载相应的扩展包并解压。...

2019-07-09 16:38:56 262

原创 支付宝手机网站支付

对于对接第三方支付,只想说文档很重要,漏了一步,后期排错真的很费时间。好好读文档,结合自己的项目优化官方给的SDK例子。也可以拿官方的demo在自己服务器先能成功执行完整个流程后,再结合自己项目从sdk抽出自己想要的代码<?php//支付宝手机网站支付(H5支付)//所有的第三方支付都是下单生成支付链接或者表单,然后用户支付,支付成功异步或者同步更新订单信息//服务端需要做的就是下单...

2019-06-20 20:17:33 449

原创 关于setInterval和setTImeout中的this指向问题

1. 问题描述前些天在练习写一个小例子的时候用到了定时器,发现在setInterval和setTimeout中传入函数时,函数中的this会指向window对象,如下例:var num = 0;function Obj (){ this.num = 1, this.getNum = function(){ console.log(this.num); ...

2018-09-25 09:01:59 227

原创 php匿名函数应用场景

匿名函数(Anonymous functions),也叫闭包函数(closures),允许 临时创建一个没有指定名称的函数。最经常用作回调函数(callback)参数的值。当然,也有其它应用的情况。&lt;?php// 一个基本的购物车,包括一些已经添加的商品和每种商品的数量。// 其中有一个方法用来计算购物车中所有商品的总价格,该方法使// 用了一个 closure 作为回调函数。...

2018-08-28 10:08:03 1257

原创 php中sprintf函数用法

在使用sprintf过程中,有时候会重复使用后面的参数&lt;?php$num = 5;$location = 'tree';$format = 'The %2$s contains %1$d monkeys. That\'s a nice %2$s full of %1$d monkeys.';echo sprintf($format, $num, $locat...

2018-08-21 10:28:32 716

原创 用js绑定onclick事件中的this

案例1:&amp;lt;!DOCTYPE html&amp;gt;&amp;lt;html lang=&quot;en&quot;&amp;gt;&amp;lt;head&amp;gt; &amp;lt;meta charset=&quot;UTF-8&quot;&amp;gt; &amp;lt;title&amp;gt;Title&amp;lt;/title&amp

2018-08-14 10:14:34 45548 3

原创 接口设计---更好的提高效率

接口设计规范一. 接口示例以下是一个用户信息接口的文档示例,包含接口描述,请求参数,响应参数,json示例等。接口描述:用户登陆成功后,或进入个人中心时会获取一次用户信息URI 方法 /userinfo GET 请求参数名称 必填 备注 id 是 用户id 响应参数名称 类型 备注 id String 用户id name Stri...

2018-08-02 17:38:12 4320 1

原创 php中Static(静态)关键字作用

1、什么是static?static 是C++中很常用的修饰符,它被用来控制变量的存储方式和可见性。但在PHP中用 static 关键字来定义静态方法和属性, 也可用于定义静态变量以及后期静态绑定。 2、为什么要引入static?函数内部定义的变量,在程序执行到它的定义处时,编译器为它在栈上分配空间,大家知道,函数在栈上分配的空间在此函数执行结束时会释放掉,这样就产生了一个问题: 如果...

2018-07-30 10:22:24 4069

原创 php数组向任意位置进行插入,删除,替换操作

array_splice函数可以实现任意位置插入和删除&amp;lt;?php$input = array(&quot;red&quot;, &quot;green&quot;, &quot;blue&quot;, &quot;yellow&quot;);$x = &quot;black&quot;;$y = &quot;purple&quot;;// 添加两个新元素到 $inputarra

2018-07-27 18:33:38 2622

原创 PHP中单引号与双引号的区别

1.说明” ” 双引号里面的字段会经过编译器解释,然后再当作HTML代码输出。 ‘ ‘ 单引号里面的不进行解释,直接输出。 从字面意思上就可以看出,单引号比双引号要快了。2.实战php中,双引号中的变量($var)和特殊字符(\r\n之类)会被转义,单引号中的内容不会被转义(所以效率更高)。&lt;?php$word = 'hello';$hello = "$word...

2018-07-19 09:56:06 190

原创 php关于时间转换问题

在实际开发中,大家都会遇到获取指定时间问题。例如:获取上周,上月的数据。这个时候应该以时间戳为准,使用mktime获取指定时间戳,再通过date()来转化,这样就会解决当遇到跨年,跨月的时候,获取的时间有误差 实例:&lt;?php$now = date('Y/m/d H:i:s', mktime(0,0,0,date('m'),date('d')-7,date('Y')));//七天前...

2018-07-18 10:12:58 515

原创 json_encode转义问题

1.应用场景在对接app开发中,统一使用json来进行数据交流。服务端给客户端数据都是json字符串,其中难免会有\n,\r等特殊字符,为防止其被转义成\\n,\\r等,需要json_encode处理时候,请使用双引号对处理字符串2.实践&amp;amp;amp;lt;?phpheader('Content-Type:application/json; charset=utf-8', true, 200...

2018-07-17 10:08:10 11921

原创 php函数特殊应用

1.用引用传递函数参数&lt;?phpfunction add_some_extra(&amp;$string){ $string .= 'and something extra.';}$str = 'This is a string, ';add_some_extra($str);echo $str; // outputs 'This is a string, ...

2018-07-06 19:27:55 239

原创 Swoole简单使用

1.Swoole应用场景Traditional PHP applications almost always run behind Apache/Nginx, without much control of the request. This brings several limitations:1.All memory will be freed after the request....

2018-06-25 17:28:19 2633

原创 MySQL常用SQL Statement Syntax

Data Definition Statements1.CREATE TABLE Syntax从存在的表里创建具有一样表结构的新表语法:CREATE TABLE ... LIKE Syntax实例:创建一个表CREATE TABLE `user` ( `uid` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(50) NO...

2018-06-22 17:12:50 4067

原创 MySQL联表CRUD

1.查询使用JOIN(LEFT JOIN取全部左边数据,RIGHT JOIN取全部右边数据,INNER JOIN 取共同数据)SELECT user.id,user_money.money FROM user JOIN user_money ON user.id = user_money.uid WHERE user_money.money&gt;02.插入需求:将一个表取出数...

2018-06-11 14:58:26 228

原创 MySQL 易错点

1.数据为空时候,count,sum返回结果不同&amp;lt;?php$dsn = 'mysql:dbname=test;host=127.0.0.1';$user = 'root';$password = '';try { $dbh = new PDO($dsn, $user, $password);} catch (PDOException $e) { echo 'Co...

2018-06-08 14:36:07 374

原创 MySQL--------大于小于比较问题

1.测试数据DROP TABLE IF EXISTS `access_log`;CREATE TABLE `access_log` ( `aid` int(11) NOT NULL AUTO_INCREMENT, `site_id` int(11) NOT NULL DEFAULT '0' COMMENT '网站id', `count` int(11) NOT NULL DE...

2018-06-04 16:26:52 20981

原创 Xdebug结合IDE远程调试

1.安装Xdebug这里有各个操作系统的安装说明 我以win7为例: 在这个页面文本框内输入phpinfo()内容 Xdebug会为你的开发环境提供最好的建议来安装2.php.ini设置[xdebug];你下载的dll路径zend_extension =&amp;amp;quot;F:/php/php7.0.10/zend_ext/php_xdebug-2.4.1-7.0-vc14-x86_6...

2018-05-18 19:32:56 796

原创 PHP 7 新特性

1.?:与??比较$a ?? $b ??\ $c NULL 合并操作符 从左往右第一个存在且不为 NULL 的操作数。如果都没有定义且不为 NULL,则返回 NULL。PHP7开始提供。&amp;lt;?php$msg = 0;echo $msg?:'test';输出结果:test相当于empty&amp;lt;?php$msg = 0;echo $msg??'test'...

2018-05-17 15:21:22 130

原创 vim常用操作

1.多行注释:首先按esc进入命令行模式下,按下Ctrl + v,进入列(也叫区块)模式;在行首使用上下键选择需要注释的多行;按下键盘(大写)“I”键,进入插入模式;然后输入注释符(“//”、“#”等);最后按下“Esc”键。 注:在按下esc键后,会稍等一会才会出现注释 2.删除多行注释:首先按esc进入命令行模式下,按下Ctrl + v, 进入列模式;选定要取消注释...

2018-05-16 19:02:09 164

原创 PDO预处理插入数据注意事项

如果当你使用pdo预处理插入一条数据时候,报错&lt;?php$dsn = 'mysql:dbname=test;host=127.0.0.1';$user = 'root';$password = '';try { $dbh = new PDO($dsn, $user, $password);} catch (PDOException $e) { echo 'C...

2018-05-14 17:57:01 2043

原创 服务端编写API总结

1.服务端返回的数据都是最终都是经过json_encode处理的,格式基本上是$response = [ 'code'=&amp;amp;amp;amp;amp;gt; 200, 'msg'=&amp;amp;amp;amp;amp;gt; '请求成功', 'data'=&amp;amp;amp;amp;amp;gt; $data其中$data可以是数组,如果$data为关联数组或者无序数组这会返回为对象关联数组$data = [ '

2018-05-14 17:08:24 1275

原创 memcached和redis区别

如果简单地比较Redis与Memcached的区别,大多数都会得到以下观点: Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,zset,hash等数据结构的存储。Redis支持数据的备份,即master-slave模式的数据备份。Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。内存使用效率对比:使用简单的key...

2018-05-03 10:16:40 197

原创 redis各个数据类型的应用场景

了解下Redis内部内存管理中是如何描述这些不同数据类型的: 首先Redis内部使用一个redisObject对象来表示所有的key和value,redisObject最主要的信息如上图所示:type代表一个value对象具体是何种数据类型, encoding是不同数据类型在redis内部的存储方式, 比如:type=string代表value存储的是一个普通字符串,那么对应的encodin...

2018-05-02 15:18:13 1585

原创 win7安装redis并简单使用

1.工具准备a.下载win7的redis点击这里 b.下载你的php对应的redis拓展使用phpinfo()函数查看PHP的版本信息,这会决定扩展文件版本(特别注意以php版本的architecture是x86还是64为准,不能以操作系统为准); 下载对应redis拓展,官方下载地址 将下载文件解压后将redis.dll文件加入你的php根目录的ext目录下,...

2018-04-18 17:56:08 973

原创 mysql性能优化------主从复制与读写分离

一、什么是主从复制与读写分离 如上图所示,当web server1/2/3要写入数据时,则向mysql db Master(主服务器)发出写入请求(即写入到master),如果要进入读操作时,则只向从服务器 mysql DB Slave1或2或3发出读取请求。如此将原本读写在同一台服务器的工作量分摊到了一台负责写入,N台负责读取(大部分的网站都是读取请求远大于写入请求),从而从一定程度时实现...

2018-04-07 20:43:46 616

原创 mysql性能优化------explain详解

1.explain作用explain语句提供了MySQL如何执行语句的信息。解释选择、删除、插入、替换和更新语句如何工作。2.如何使用explain your command;select_type ...

2018-04-07 20:38:14 345

原创 数据与业务逻辑分离

1、面向对象能给我们什么?进行分析之前,我们先来复习一下面向对象。对象是要进行研究的任何事物。类是具有相同或相似性质的对象的抽象。面向对象的要素:抽象,封装、继承、多态。面向对象目的是:如何分配职责。面向对象设计原则(高内聚低耦合):单一职责原则 (SRP) 一个类,只有一个引起它变化的原因。开放-封闭原则 (OCP)(对外)可扩展,(对内)不可修改。李氏替换原则...

2018-03-22 11:23:31 11530 1

原创 数据库冗余字段设计作用

1.什么是冗余字段?在设计数据库时,某一字段属于一个表,但它又同时出现在另一个或多个表,且完全等同于它在其本来所属表的意义表示,那么这个字段就是一个冗余字段,外键除外 ——以上是我自己给出的定义2.冗余字段应用场景冗余字段的存在到底是好还是坏呢?这是一个不好说的问题。可能在有人看来,这是一个很蹩脚的数据库设计。因为在数据库设计领域,有一个被大家必须遵守的数据库设计范式,这个范式理...

2018-03-20 16:53:26 3353

原创 app多版本控制的服务端解决方案

1.应用场景手机客户端按一定周期发版,但是客户不一定会及时更新到最新版本,所以需要服务端能支持旧版手机客户端。服务端支持旧版手机客户端的方式主要有:相同的接口支持不同版本手机端的请求,需要服务端接口做好兼容 相同的接口支持不同版本手机端的请求,但是在header或者uri加入了version信息,需要服务端根据version信息做相应的处理不同的接口支持,不同版本手机端的请求,需...

2018-03-15 11:19:02 9737

原创 php实现双向队列

&lt;?phpclass Deque { private $queue = array(); public function addFirst($item) { return array_unshift($this-&gt;queue, $item); } public function addLast($item) { ...

2018-03-15 09:58:29 205

原创 抢红包算法

&lt;?php/* * 生成红包的函数 */function getRandMoney($totalMoney, $totalPeople = 2, $miniMoney = 1){ $randRemainMoney = $totalMoney - $totalPeople * $miniMoney; //剩余需要随机的钱数 return _getRandMoney($r...

2018-03-05 14:10:49 303

原创 PHP加密解密函数

&lt;?phpfunction encryptDecrypt($key, $string, $decrypt){ if ($decrypt) { $decrypted = rtrim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, md5($key), base64_decode($string), MCRYPT_MODE_CBC, md5(...

2018-03-05 13:57:27 241

原创 前端常用网页代码

1、控制横向和纵向滚动条的显隐?&lt;body style=”overflow-y:hidden”&gt; 去掉x轴&lt;body style=”overflow-x:hidden”&gt; 去掉y轴&lt;body scroll=”no”&gt;不显2、表格变色&lt;TD onmouseover=”this.style.backgroundColor=’#FFFFFF’...

2018-03-05 11:47:18 10892 2

PHP开发实战1200例源码

PHP开发实战1200例源码

2016-04-15

树莓派学习笔记

小白自学树莓派的一些心得以及问题,可能有一些不足的地方,还请各位多多包涵!

2016-03-01

mysql学习笔记

mysql学习笔记,全是自学心得。仅供各位参考,如有问题,请多多包涵!

2016-03-01

空空如也

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

TA关注的人

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