自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 选择排序

思路如下:假设从小到大排序,首先,第一轮循环,从所有数组中,找出最小的元素,将其下标记录下来,然后确认该元素是否是第一个元素,如果不是第一个元素,则和第一个元素进行交换。接下来,从第二个元素开始,再找出最小的一个元素,记录其下标,再和第二个进行交换。一直到最后,每一轮循环都会确定一个最小的元素,放在数组的前面。案例:$arr = [5, 2, 4, 7, 9, 4, 2, 6, 8, 3]; $lens = count($arr); for ($i =

2022-02-17 14:56:52 372

原创 冒泡排序

思路:先比较相邻的两个元素,如果满足条件,就交换,否则不动,然后是再比较接下来的两个相邻的元素,满足条件就交换,否则依然不动,依次循环操作下去,第一轮结束就能保证把最大的数放在最后一位,有多少元素就循环多少轮。案例:数组有5个元素从小到大排序,首先第一个和第二个比,第一个比第二个大,就交换,否则不操作然后第二个和第三个比较,第二个大于第三个则交换,否则依然不动。直到对比到第四个和第五个对比。经过一轮的循环对比,最大的数字就下沉到最下边了。小的数字逐渐向上浮出。$arr =

2022-02-17 14:06:59 223

原创 mysql杂项记录

事务相关:事务是指一组sql语句组成的逻辑处理单元,在这组sql的操作中,要么全都执行成功,要么全都失败回滚,不会出现只执行一部分的情况。举个简单又经典的例子就是转账了,事务A中要进行转账,那么转出的账号要扣钱,转入的账号要加钱,这两个操作都必须同时执行成功,为了确保数据的一致性。事务有4大特性,分别是原子性、一致性、隔离性、持久性。原子性:是指事务的操作原子的,对数据的修改要么全部执行成功,要么全部失败。原子性是基于redo log/undo log实现的。redo log就是

2022-02-14 19:20:48 269

原创 责任链模式

使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系,将这些对象连成一条链,并沿着这些链传递该请求,直到有一个对象处理它为止。/** * 定义抽象责任链类,使用$successor保存后继链条 * Class Handler * @package Phinex\DesignMode\DutyChain */abstract class Handler{ protected $successor; public function setSuccessor(

2022-02-08 20:36:54 111

原创 php学习记录

1:array_multisort排序多个一维数组,直接上案例:$ar1=array(10,100,100,0);$ar2=array(1,3,2,4);array_multisort($ar1,$ar2);var_dump($ar1);var_dump($ar2);这个例子里,排序后,第一个数组会包含 0、 10、 100、 100。 第二个数组会包含 4、1、 2、 3。 第二个数组里的项目对应第一个数组后也进行了排序(100 和 100)。ar...

2021-12-30 11:31:41 230

原创 日常工作记录

1:配置了crontab 但是没有自动执行错误的配置方式:*/2 * * * * php /srv/www/www.21cake.com/app/base/cmd b2c:unpurchase autocheck >> /srv/www/www.21cake.com/data/logs/unpurchase_crontab.log正确的配置方式:*/2 * * * * /opt/php/bin/php /srv/www/www.21cake.com/app/base/cmd b2

2021-12-30 11:26:16 608

原创 js对象修改引用传递采坑

今天踩了一个坑,只怪自己学艺不精。在此记录一下。有问题的代码:let GoodsObject = {goodsStarLists: [],productStarLists: {},init: function(){GoodsObject.initStar();GoodsObject.getProduct();},initStar: function(){let goodsStarLists = [];for(let i = 1;i <= 2;i++){

2021-11-28 16:29:08 430

原创 css学习笔记

<!DOCTYPE html><!-- DOCTYPE叫做文档声明,用于标记我们网页使用的是哪一个版本,这样浏览器就会按照对应的版本进行html标签解析 --><html lang="zh_CN"><!-- html:网页的根标签 --><head> <meta charset="UTF-8"> <!-- meta:元标签 charset: 字符集 --> <title>网站首页.

2021-10-04 09:48:41 72

原创 mysql更新A表的字段等于B表的字段

UPDATE sdb_b2c_flash_users AS fu,sdb_b2c_members AS m,sdb_b2c_flash_third_stations AS d SET fu.account_id=m.member_id,fu.team_code='2324',fu.name=m.name WHERE d.real_id=fu.real_id AND d.third_real_id='0000100137' AND m.mobile='18637613439';更新sdb

2020-11-06 17:07:08 1942

原创 js遍历对象

1:Object.keys():返回一个数组,包括对象自身的(不含继承的)所有可枚举属性。var obj = {"name": "lbj","age": 25,"height": 180};Object.keys(obj).forEach(function(key){ console.log(key,obj[key]);});输出:> "name" "lbj"> "age...

2020-04-27 15:02:47 152

原创 js遍历数组

1:for循环var arr = ['a','b','c','d'];for(let i = 0;i < arr.length;i++){ console.log(arr[i])}2:for of循环可以正确响应break、continue和return语句var arr = ['a','b','c','d'];for(let value of arr){ console...

2020-04-27 14:53:44 209

原创 mysql临时表的使用

mysql使用temporary关键字可以创建出一个临时表。创建的这张表会在于服务器的会话终止时自动消失。语法:create temporary table 表名规则:每个会话只能看到自己创建的临时表,不同的会话可以创建相同表名称的临时表。临时表的表名可以和永久表的名字相同。A:临时表再断开于mysql的连接后系统会自动删除临时表中的数据,但这只限于用下面语句建立的表:1:定义字段cre...

2020-04-27 10:39:57 539

原创 mysql中外键的定义、作用、添加和删除

1:简介在实际开发的项目中,一个健壮数据库中的数据一定有很好的参照完整性。例如学生档案和成绩单两张表,如果成绩单中有张三的成绩,学生档案中张三的档案却被删除了,这样就会产生垃圾数据或者错误数据。为了保证数据的完整性,将两张表之间的数据建立关系,因此就需要在成绩表中添加外键约束。2:外键的定义外键是指引用另外一个表中的一列或多列数据,被引用的列应该具有主键约束或者唯一性约束。外键用来建立和加强...

2020-04-26 15:57:55 363

原创 sql必知必会

1:sql语句不区分大小写,比如select和SELECt。2:在处理sql语句时,其中所有空格都被忽略,如下面三种写法作用是一样的:a: select prod_name from products;b:select prod_name from products;c:select prod_name fromproducts;3:limit 5 offset 5 表示返回从第5...

2020-04-25 10:31:59 282

原创 js常用函数

js属性对象的hasOwnProperty方法:添加链接描述string对象常用方法:添加链接描述jQuery的deferred对象详解: 添加链接描述

2020-04-21 11:13:41 92

原创 mysql 测试left join、right join、inner join用法

CREATE TABLE `sdb_b2c_te` ( `id` int(2) unsigned NOT NULL AUTO_INCREMENT, `order_id` int(11) NOT NULL DEFAULT '0', `ship_name` varchar(50) NOT NULL DEFAULT '', `age` int(11) NOT NULL DEFAULT '...

2020-01-10 09:29:52 328

原创 phpexcel导出数据乱码

使用PHP导出excel文档,有时候莫名其妙就会出现导出的数据乱码,现在推荐一个万能修补大法,话不多说,直接上代码:核心就是在处理完数据之后,输出excel文件之前 添加 ob_end_clean()函数;具体见示例代码,此处只罗列部分代码:foreach ($licenseList as $key => $item) { $objPHPExcel->setActiveSheet...

2020-01-09 10:23:33 831

原创 php7新特性的理解和比较

1:null合并运算符(??):如果变量存在且值不为null,它就会返回自身的值,否则返回它的第二个操作数。//php7以前:if判断if(empty($_GET['param'])){ $param = 1;}else{ $param = $_GET['param'];}//php7以前 三元运算符$param = empty($_GET['param']) ? 1 : $_...

2019-12-11 15:28:02 144

原创 php匿名函数和闭包的理解

添加链接描述

2019-12-09 16:24:45 94

原创 dotenv - php版本的.env

phpdotenv扩展地址:添加链接描述通过.env加载环境变量并且能够自动通过getenv(),ENV和_ENV和E​NV和_SERVER自动调用。为什么是 .env?你不能在代码中存储任何的 敏感/账号 数据. 存储 在环境中存储配置 是 12-factors的一项规则. 在部署中可能变化的所有的内容 – 诸如数据库认证或者第三方服务的认证应该从代码中剥离出来.也就是环境变量的概念.广...

2019-12-04 10:30:49 387

原创 php字符串转义addslashes与stripslashes

php的字符串向数据库进行写入时,为避免数据库错误,需要对特殊字符进行转义,这些特殊字符包括单引号、双引号、反斜线与null字符。addslashes()函数会对特殊字符加上转义字符,返回一个字符串。$str = "Is your name O'reilly?";echo addslashes($str); // 输出:Is your name O\'reilly?注意:默认情况下,p...

2019-12-03 09:48:44 196

原创 JavaScript 的 this 原理

本文来自:添加链接描述var obj = { foo: function(){}}var foo = obj.foo;//写法一:obj.foo();//写法二:foo();上面代码中,虽然obj.foo和foo都指向同一个函数,但执行结果可能不一样。如:var obj = { foo: function () { console.log(this.bar) }, ...

2019-10-28 14:49:00 78

原创 JS-构造函数的继承

1、apply();function Student(name, age, grade) { Person.apply(this, arguments); // 用apply调用Person,this(Student)代替Person的this,达到继承Person的对象和方法的目的 this.grade = grade;}function Person(name, age...

2019-10-28 14:14:47 93

原创 Js中的构造函数、原型、原型链、继承

写在前头首先思考一个问题,我们知道通过构造函数和new操作符可以创建一个新的对象,并且同一个构造函数可以创建出相同属性和方法的对象,这正是prototype所做的(使用原型对象的好处是可以让所有实例共享它所包含的属性和方法)。并且,在其他构造函数中通过call和apply调用其他构造函数不就可以实现继承了吗,那我们还要prototype做什么?原因是,其实new操作符生成的对象并不能共享属性和...

2019-10-28 09:54:08 105

原创 js好文

apply,call,bind:添加链接描述js包装对象:添加链接描述JS属性描述对象:添加链接描述数据类型概述:添加链接描述js语言的对象体系,不是基于类的,而是基于构造函数和原型链。JavaScript 语言使用构造函数(constructor)作为对象的模板。所谓”构造函数”,就是专门用来生成实例对象的函数。它就是对象的模板,描述实例对象的基本结构。一个构造函数,可以生成多个实例对象...

2019-10-25 17:29:54 99

原创 js json对象

JSON 格式(JavaScript Object Notation的缩写)是一种用于数据交换的文本格式,目的是取代繁琐笨重的 XML 格式。每个 JSON 对象就是一个值,可能是一个数组或对象,也可能是一个原始类型的值。总之,只能是一个值,不能是两个或更多的值。json对值得类型和格式有严格的规定:1:复合类型的值只能是数组或对象,不能是函数、正则表达式对象、日期对象。2:原始类型的值只...

2019-10-22 11:10:13 96

原创 js立即执行函数

立即执行函数常用于第三方库,好处在于隔离作用域,任何一个第三方库都会存在大量的变量和函数,为了避免变量污染(命名冲突),开发者们想到的解决办法就是使用立即执行函数。什么是立即执行函数(IIFE)在了解立即执行函数之前先明确一下函数声明、函数表达式及匿名函数的形式,如下图:接下来看立即执行函数的两种常见形式:( function(){…} )()和( function (){…} () ),...

2019-10-22 09:35:24 69

原创 JS面向对象-对象的继承

大部分面向对象语言,都是通过类(class)实现对象的继承,但是js语言的继承不通过class,而是通过原型对象(prototype)实现。构造函数的缺点:js通过构造函数生成新对象,因此,构造函数可以视为对象的模板。实例对象的属性和方法,可以定义在构造函数的内部。function Cat(name,color){ this.name = name; this.color = color...

2019-10-22 09:02:34 129

原创 foreach里取别的表里数据的常用方法

从orders表里取出数据,然后去distribution表和distribution_real表取路区和站点的名称。方法一:傻逼做法直接循环orders数据,然后在循环里写sql,去取自己需要的数据。foreach($orders as $order){ $distributionId = $order['distribution_id']; $sql = "select name f...

2019-10-22 08:51:07 507

原创 sql语句里面用mysql函数的血泪教训

sql语句如下:$sql = "select * from sdb_b2c_orders where salearea_id={$cityId} and memo like '%$saleName%' and from_unixtime(ship_time,'%Y-%m-%d')='$ship_date'";sdb_b2c_orders表里有400万数据,这条sql尽然跑了22秒,好可怕。。...

2019-10-22 08:23:01 230

原创 mysql explain用法和结果分析

explain简介:使用explain关键字可以模拟优化器执行sql查询语句,从而知道mysql是如何处理你的sql语句。使用方式如下:explain sql。执行计划包含的信息:+----+-------------+----------+------------+------+---------------+------+---------+------+------+--------...

2019-10-21 09:04:17 104

原创 mysql什么情况下sql语句用不到索引

1:条件中有or,并且所有条件字段都建了索引,才能用到索引,否则用不到。explain select * from sdb_b2c_members where mobile='18202139749' or name = '邢进'这条sql语句中的mobile和name都建了索引,所以用到了索引。explain select * from sdb_b2c_members where mo...

2019-10-18 15:40:24 595

原创 mysql use index、ignore index、force index用法

1:use index:在你查询语句表名的后面,添加use index来提供你希望mysql去参考的索引列表,就可以让mysql不再考虑其他可用的索引。如:select * from table use index(name,age);2:IGNORE INDEX 提示会禁止查询优化器使用指定的索引。在具有多个索引的查询时,可以用来指定不需要优化器使用的那个索引,还可以在删除不必要的索引之前在查...

2019-10-18 14:05:48 1162

原创 js中!和!!的区别及用法

1:!可将变量转换成boolean类型,null、undefined和空字符串取反都为true。var a = null;if(a){ console.log(1);}else{ console.log(2);}//输出:2if(!a){ console.log(1);}else{ console.log(2);}//输出:12:!!常常用来做类型判断,在第一步!之...

2019-10-18 13:32:30 200 1

原创 mysql enum字段

Enum是枚举类型,每个枚举值都有一个索引,索引一般是从1开始。CREATE TABLE student( -> id INT(11) PRIMARY key auto_increment, -> name VARCHAR(10) not null, -> sex ENUM('boy','girl','secret') DEFAULT 'secret'...

2019-10-18 13:14:55 240

原创 js杂谈

js中的一切都区分大小写(变量、函数名、操作符)。js中有5种基本的数据类型:undefined、null、boolean、Number、String。还有一种复杂的数据类型:Object。函数名仅仅是指向函数的指针,所以一个函数可能有多个名字。解析器在向执行环境中加载数据时,对函数声明和函数表达式并非一视同仁,解析器会先读取函数声明,并将其在执行任何代码之前可用,至于函数表达式,则必须等到...

2019-10-16 17:10:21 149

原创 js常用函数链接

1:parseInt() https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/parseInt2:parseFloat() https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Obje...

2019-10-14 08:10:42 106

原创 js中escape()、encodeURI()、encodeURIComponent()的区别

1:escape()函数不能直接用于url编码,它的真正作用是返回一个字符的Unicode编码值。如:escape('hello world');//hello%20world2:encodeURI()除了常见的符号以外,对网址中有特殊含义的符号:/ ? : @ & = + $ #等不进行编码。编码后,它输出符号的utf-8形式,并且在每个字节前加上%。如:console.lo...

2019-10-12 09:09:14 76

原创 CentOS7快速(yum)安装LNMP环境

源码编译安装LNMP环境虽然便于自定义,但是对于小型服务器来说,漫长的编译时间让人无法等待。如果能在10分钟内搞定环境安装,那就很好了。1、配置yum源CentOS 7的默认yum源里的软件包版本可能不是最新的,如果要安装最新的软件包就得配置下yum源。配置yum源可以通过直接安装rpm (Red Hat Package Manager)包,或者修改...

2019-09-11 19:41:30 472

原创 正则表达式

正则表达式匹配连续相同字符:如:匹配字符串中连续出现2个相同的字符:abcaaa11223 ([0-9a-zA-Z])\1 能匹配出aa1122匹配字符串中连续出现3个相同的字符:abcaaa11223 ([0-9a-zA-Z])\1{2} 能匹配出aaa解释:正则表达式中的小括号()是代表分组的意思,如果在其后出现\1则是代表与第一个小括号中要匹配的内容相同。注意:\...

2019-09-04 17:48:25 82

空空如也

空空如也

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

TA关注的人

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