- 博客(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关注的人