自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 收藏
  • 关注

原创 多维数组转换GET方式传递

$array = [ 's' => [ 'h' => 3, 'b' => [ 'o' => 5, 'l' => 6 ] ], 'm' => 7];$rr = arrayToHeader($array, 'qqq');var_dump...

2020-01-18 16:06:38 539

原创 JS瀑布流

JS:(function( $ ,undefined){ /** * 绑定滚动对象 * @param options 自定义配置参数 * */ $.fn.scrollPagination = function(options) { //覆盖默认参数对象 var opts = $.extend($.fn.scrollPagination.defau...

2019-06-21 16:43:34 140

原创 mysql学习笔记四

1.mysql会给每个线程分配一块sort_buffer用于排序。如果在排序字段上建立联合索引,当前缀相同时,后面的字段一定是有序的,所以这样可以省略排序过程,如果使用覆盖索引还能省略回表的过程。2.当在字段上使用函数时,将不再使用索引 。3.隐式类型转换,会导致mysql做全表扫描,比如 varchar字段的age,select * from t where age=1,这种就会导致全表...

2019-06-18 17:28:10 173

原创 mysql学习笔记三

1.在 InnoDB 事务中,行锁是在需要的时候才加上的,但并不是不需要了就立刻释放,而是要等到事务结束时才释放。所以把最可能造成锁冲突、最可能影响并发度的锁尽量往后放2.设置innodb_deadlock_detect=on来开启死锁自动检测,如果在热点更新的情况下,建议引入中间件来削峰。3.一般情况下,尽量选用普通索引,唯一索引引入更多的开销。4.给字符串字段加索引,可以定义一部...

2019-06-14 16:51:16 133

原创 H5扫描识别二维码

参考文章:https://developer.mozilla.org/zh-CN/docs/Web/API/MediaStreamhttps://developer.mozilla.org/zh-CN/docs/Web/API/Mediadevices引入的文件是qrcode的js插件.github上可以直接下载HTML:<div class="wrapper w...

2019-06-13 12:26:46 14334 4

原创 php 实现二叉查找树

class btree{ public $head; public function __construct(){ $this->head = null; } public function get($key, $node = null){ if (!$this->head) re...

2019-06-06 17:43:27 499

原创 php实现一个单向链表

class Singlelist{ private $head; private $size; public function __construct(){ $this->head = null; $this->size = 0; } public function get...

2019-06-06 16:33:22 212

原创 mysql学习笔记二

sql标准的事务隔离级别包括:读未提交、读提交、可重复读、串行化(查看:SELECT @@tx_isolation) 读未提交:一个事务还没有提交时,它做的变更就能被别的事务看到 读提交:一个事务提交后,它做的变更才能被别的事务看到 可重复读:一个事务执行过程中看到的数据,总和这个事务启动时看到的数据时一致的,它做的变更在未提交时,对其他事务不可见,mysql默认 串行化:对于同一行...

2019-06-06 14:45:34 103

原创 mysql学习笔记一

1. sql执行流程2. 创建表时的存储引擎大部分时候最好使用InnoDB,mysql 5.5.5开始默认的存储引擎改为了innodb。3.查询缓存会缓存sql语句的查询结果,但是在数据更新时,缓存立即被清空,所以除非表数据很少的更新的情况,一般建议关闭查询缓存。 打开my.ini 设置query_cache_type=0来关闭查询缓存。 mysql还提供了一种按需缓存的方式。设...

2019-06-06 12:47:38 137

原创 记录一下本地WIN10,PHP配置OPENSSL的过程

今天在使用一个银行SDK的时候,本地开发遇到一个生成私钥失败的错误,以及一个证书的问题,主要原因是本地的环境配置问题,解决过程如下:1.将PHP安装目录下的libeay32.dll添加到系统环境变量的PATH中2.添加系统环境变量OPENSSL_CONF=本地openssl.cnf文件的路径3.下载(https://curl.haxx.se/docs/caextract.html)或者...

2019-06-01 17:19:07 1545

原创 记录下getopt的使用方法

1. 输入第一个参数的情况,参数为字符串#!/usr/bin/env php<?php$op = 'a:b:c';$lop = ['d:','e:','f'];$allOption = getopt($op);var_dump($allOption);结果2.输入第二个参数的情况,参数为数组,此处key和值之间需要空格或者等号,非则读取不到#!/...

2019-05-31 11:08:54 258

原创 求一个数组中指定个数的值的组合种类

如:从[1,2,3,4,5,6,7,8,9] 中取出4个数,打印出各种可能的组合:思路:1.先取出其中一个数2.从剩下的数组中取出来三个数可能的组合,加上之前取出的数,就是包含取出数的可能的组合3.从剩下的数组中取出四个数,组成不包含第一次取出数的可能的组合。4.循环1,2,3步骤,得到最终数组$arr = [ 1 => ['total'=>5,'id...

2019-05-24 10:51:48 997

原创 psr0和psr4规范

一.Psr0一个完全标准的命名空间(namespace)和类(class)的结构是这样的:\<Vendor Name>\(<Namespace>\)*<Class Name>每个命名空间(namespace)都必须有一个顶级的空间名(namespace)("组织名(Vendor Name)")。每个命名空间(namespace...

2019-05-16 22:56:40 1170

原创 php中...的使用

如果...再函数的定义中,则表示传入多个参数将合并成一个数组functionsum(...$numbers){$acc=0;foreach($numbersas$n){$acc+=$n;}return$acc;}echosum(1,2,3,4);如果...在调用函数的语句中...

2019-05-16 22:55:24 1608 1

原创 php中static__和self__的区别 以及get_called_class()

static调用的是当前对象所属类的属性self调用的是当前类的属性class a { public static $res = 'a'; public function view(){ echo self::res; echo static::res;}}class b extends a{...

2019-05-16 22:54:54 157

原创 PHP使用IMAP接收邮件编码问题

/* * 解析结构 * */ private function getpart($mid,$p,$partno) { // $partno = '1', '2', '2.1', '2.1.3', etc for multipart, 0 if simple // type :0 文字 text 1 复合 multipart 2 信息 message 3 程序 applicatio...

2019-05-16 22:54:00 1228

原创 JS使对象悬浮

/** * 对象悬浮 * listen_obj 监听的对象 * float_obj 需要悬浮的对象 * top 悬浮对象距离顶部的高度 * background 背景 */function objectFloat(listen_obj, float_obj, top, background){ var current_top = $(float_obj).offset().top...

2019-05-16 22:52:40 131

原创 JS判断变量类型

/** * 判断变量类型 * */var valueType = { isString : function(value){ return value.constructor.name == 'String'; }, isInt : function(value){ if (value.constructor.name == 'Number' || value.constru...

2019-05-16 22:51:32 91

原创 数据结构初识

1. 数据结构种类: 线性结构、树、图、其他2.算法复杂度1.1 时间复杂度 种类:线性 O(n)、对数 O(logn)、常量O(1)、多项式O(n^2)1.2 空间复杂度种类:常量O(1)、线性O(n)、二维空间O(n^2)、递归空间3. 数据结构3.1 物理结构、逻辑结构物理结构:数组、链表逻辑结构:栈、队列、hash表 数组:以下标来读取写入数据,并且为连...

2019-05-16 22:50:11 90

原创 乐观锁和悲观锁

1. 悲观锁共享资源每次只给一个线程使用,其它线程阻塞,用完后再把资源转让给其它线程2.乐观锁一般使用版本号来确认更新的数据是否为正确的那一条,用于并发更新某一条数据时,如取货、秒杀等场景,乐观锁插入的情况可以给某个标识字段设置唯一,重复插入返回失败,更新的情况可以设置一个版本标识,通过判断版本标识来使更新失败插入情况下,不能只设置字段唯一,会返回错误,导致程序终止,可...

2019-05-16 22:48:27 62

原创 安装配置PHP+rabbitmq

1.配置erlang环境官网下载地址:http://www.erlang.org/downloads下载 wget http://erlang.org/download/otp_src_22.0.tar.gz解压 tar -zxvf otp_src_22.0.tar.gzcd otp_src_22.0./configure --prefix=/usr/local/erlang ...

2019-05-16 22:39:02 381

原创 安装和使用redis

1. 找到最新版的redis连接2.下载到本地,解压,进入目录安装wget urltar xzf 压缩包cd 安装目录make3. 进入安装目录启动服务 ./src/redis-server关闭服务 ./src/redis-cli shutdown4. 远程连接redis出于安全考虑需要设置密码,打开redis.conf找到#requirepass foob...

2019-05-16 14:10:49 61

原创 JS+css实现条码的连续打印

1. 根据规则生成指定数量的条码2.通过js创建iframe,并将地址连接到要打印的页面,js代码如下var iframe = document.createElement("iframe");iframe.src = url;if (iframe.attachEvent){ iframe.attachEvent("onload", function(){ ...

2019-05-15 13:59:34 2255

原创 获取浏览器信息

function appInfo(){    var browser = {appname: 'unknown', version: 0},          userAgent = window.navigator.userAgent.toLowerCase();      if ( /(msie|firefox|opera|chrome|netscape)\D+(\d[\d.]*)

2018-01-05 10:04:36 138

原创 C语言笔记

按我的理解记录一下int var = 12;int *p=NULL;p = &var;p为var的地址,*p为var的值int var[3] = {1,2,3}int *p;p = var;p++;var 为数组首地址,等同于&var[0] p为数组首地址 p++,指针向后移动一位,指向数组第二个值的地址

2017-06-17 15:37:16 212

原创 微信公众平台支付

sdk调用片段require_once dirname(__FILE__).'/log.php';require_once dirname(__FILE__).'/WxPay.JsApiPay.php';require_once dirname(__FILE__).'/../lib/WxPay.Api.php';require_once dirname(__FILE__).'/../lib/W

2017-06-14 17:12:21 320

原创 微信接入

记录一下//微信api接入验证$token = '';//此处填写之前开发者配置的token$nonce = $_GET['nonce'];$timestamp = $_GET['timestamp'];$echostr = $_GET['echostr'];$signature = $_GET['signature'];//参数字典序排序$array = array

2017-06-14 15:51:10 305

原创 XML转数组

备注一下简单的格式化显示数组到页面上,主要是遇到要把xml文件显示出来,但是直接显示没有格式。这边稍微做了下处理function showXml($array){ $xmlString = ""; if (is_array($array)) { foreach ($array as $key=>$arr){ if (is_numeric($key))

2017-06-13 11:41:44 262

原创 一个简单的加载类,可以当做autoload使用

class LoadClass{ protected static $_classes; protected static $_is_loaded; //load class,return class object public static function &load_class($class,$param="",$suffix="",$path=""){

2017-04-21 11:51:42 162

原创 杂记

今天看到一道面试题,思考了集中解决办法,留下纪念 大厅里有100盏灯,每盏灯都编了号码,分别为1-100。每盏灯由一个开关来控制。(开关按一下,灯亮,再按一下灯灭。开关的编号与被控制的灯相同。)开始时,灯是全灭的。现在按照以下规则按动开关。 第一次,将所有的灯点亮。 第二次,将所有2的倍数的开关按一下。 第三次,将所有3的倍数的开关按一下。 以此类推。第N次,将所有N的倍数的开关按一下。

2017-04-13 09:28:44 182

原创 适配器模式-PHP

学习框架遇到适配器问题,做下记录 1.类适配器,以继承为主要方式,扩展原有的类interface class1{ function f1(); function f2();}interface class2{ function f3(); function f4();}class class3 implements class1{ public f

2017-04-12 11:00:22 188

原创 Linux下的vsftpd安装和用户设置

安装vsftpd yum install vsftpd -y禁止匿名登录 vim /etc/vsftpd/vsftpd.confanonymous_enable=NO创建用户 useradd ftpname -s /sbin/nologin更改用户 passwd ftpname更改用户登录目录 usermod -d /www ftpname限制用户读取上级目录 ,将用户添加到c

2017-03-29 22:50:35 412

转载 记录下 XML对象转数组

记录下 XML对象转数组function xml_to_array($obj){ if( count($obj) >= 1 ) { $result = array(); $keys = array(); foreach( $obj as $key=>$value) { isset($keys[$k

2017-03-22 15:49:22 229

原创 记录下 用数字对应EXECEL表头的字母

记录下 用数字对应EXECEL表头的字母$base_letter = array('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z');$total = 100;$maps = array();for ($i=0;$i<$total;++$i){

2017-03-21 09:19:43 243

空空如也

空空如也

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

TA关注的人

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