- 博客(51)
- 收藏
- 关注
原创 头条面试题——台阶积水
解题思路要计算所有台阶上的积水,只要将每个台阶上的积水量累加,就是所有台阶的积水量。而每个台阶的若想积水则其左右台阶的(最高)高度都要高于当前台阶才可以。如题,当前台阶为:0,1,0,2,1,0,1,3,2,1,2,1每个台阶的积水量为:0,0,1,0,1,2,1,0,0,1,0,0每个台阶左边最高台阶高度:(不存在则置0)0,0,1,1,2,2,2,2,3,3,3,3每个台阶右...
2019-09-07 01:21:43
1112
1
原创 ISO语言代码(ISO-639) 附SQL语句
ISO语言代码(ISO-639) 附SQL语句语言代码国家/ 地区语言代码国家/ 地区af公用荷兰语is冰岛语af-ZA公用荷兰语 - 南非is-IS冰岛的 -冰岛sq阿尔巴尼亚id印尼sq-AL阿尔巴尼亚 -阿尔巴尼亚id-ID印尼 -印尼ar阿拉伯语it意大利ar-DZ阿拉伯语 -阿尔及利亚it-IT意...
2019-08-23 00:52:51
1036
原创 laravel的批量插入或更新
laravel的批量插入或更新在项目中常常有些需求是需要将大量的数据导入库中,如果库中不存在该条数据插入,存在则更新,典型应用场景:更新报表数据,有这些报表的数据归因时间长达28天,也就是28内的数据都会更新,每天还会产生新的数据,这时就需要对新的数据插入,老数据进行更新。在laravel中有批量插入,批量更新的方法,也有对单条数据的插入或更新方法,却没有对批量数据的插入或更新的方法。需求...
2019-08-12 23:59:33
9687
原创 linux vim编辑器常用命令
1. 打开文件#vim 路径/文件 (正常打开一个文件)#vim +数字 路径/文件 (打开文件后快速将光标定位到数字指定的行)例:#vim +4 ./a.php提示:vim默认是不显示行号的,如果想在当前文件中显示出行号可以输入:set nu 按下回车#vim +/字符串 路径/文件 (打开文件,并高亮显示/后的字符串)提示:如果这时候想在搜索高亮结果中进行光标的快速跳转,可以...
2018-09-29 00:11:35
704
原创 阅读笔记 > 大型网站架构技术一览
大型网站架构技术一览1.前端架构前端指用户请求到达网站应用服务器之前经历的环节,通常不包含网站业务逻辑,不处理动态内容。浏览器优化技术并不是优化浏览器,而是通过优化响应页面,加快浏览器页面的加载和显示,常用的有页面缓存、合并HTTP减少请求次数、使用页面压缩等。CDN内容分发网络,部署在网络运营商机房,通过将静态页面内容分发到离用户最近的CDN服务器,使用户可以通过最短路径获取内容。动静分离,静态资
2018-01-26 23:15:16
288
原创 PHP mktime()、getdate() 、checkdate()、strftime()函数
PHP mktime()、getdate() 、checkdate()、strftime()函数mktime()函数如果要将一个日期和时间转变成UNIX时间戳,可以使用mktime()函数。该函数原型如下所示:int mktime([int hour[,int minute[,int second[,int month[,int day[,int year[,int is_dst]]]]]]])除
2017-12-14 23:40:44
418
原创 PHP 获取当前时间、时间戳及相互转换函数用法
PHP 获取当前时间、时间戳及相互转换函数用法1.获取当前日期字符串:date("Y-m-d H:i:s"); // 2017-12-14 23:13:512.获取当前时间戳:time(); // 15132642583.获取某个时间戳对应的日期字符串:date("Y-m-d H:i:s",1513264258); // 2017-12-14 23:13:514.获取某个日期的时间戳st
2017-12-14 23:25:38
23667
原创 PHP 创建、删除和移动文件函数
PHP 创建、删除和移动文件函数首先,可以很简单地调用函数touch()来创建一个文件,或者修改文件上次被修改的时间。其功能类似UNIX的命令touch。该函数具有如下所示的原型:bool touch(string file,[int time[,int atime]]) 参数 描述 filename 必需。规定要接触的文件。 time 可选。设置时间。默认是当前系统时间。
2017-12-06 22:33:04
4411
原创 PHP fileperms()、filesize()和stat()函数
PHP fileperms()、filesize()和stat()函数函数filetype()返回一些关于所检查文件的类型信息。可能的结果有fifo、char、dir、block、link、file和unknown。函数filesize()返回文件的大小(以字节计算)。另一组函数——is_dir()、is_executable()、is_file()、is_link()、is_readable()和
2017-12-05 23:06:37
1041
原创 PHP fileatime()和filemtime() 函数
PHP fileatime()和filemtime() 函数fileatime()和filemtime()将分别返回该文件最近被访问和最近被修改的时间戳。定义和用法fileatime() 函数返回指定文件的上次访问时间。该函数返回文件上次被访问的时间。如果出错则返回 false。时间以 Unix 时间戳的方式返回。语法fileatime(filename) 参数 描述 filename
2017-12-05 22:38:56
415
原创 PHP 创建和删除目录
PHP 创建和删除目录PHP的mkdir()和rmdir()函数用来创建与删除目录,只能在用户具有访问权限的路径上创建和删除目录。函数mkdir()的使用比想像中要复杂。它带有两个输入参数:目标目录的路径(包括新的目录名)和希望该目录拥有的访问权限,例如:mkdir(“/tmp/testing”,0777);然而,要得到的权限码不一定是上面所需的权限码,当前的umask将与该值相“与”(像做一次减法
2017-12-05 22:24:51
2096
原创 获得当前目录的信息:dirname()、basename()、disk_free_space() 和 scandir()函数
获得当前目录的信息:dirname()、basename()、disk_free_space() 和 scandir()函数dirname(path)函数和basename(path)函数和basename(path)函数将分别返回路径的目录部分和路径的文件名称部分。对于目录浏览器来说,这可能会非常有用,尤其是根据有意义的目录名称和文件名称内容创建一个复杂的目录结构时。basename() 函数返回
2017-12-04 23:05:13
413
原创 函数opendir()、closedir()、rewinddir()、dir()和readdir()
函数opendir()、closedir()、rewinddir()、dir()和readdir()函数opendir()用于打开所浏览的目录。这类似于用函数fopen()打开所读取的文件。只是传递给此函数的参数不是文件名称,而是一个目录名称:$dir=opendir($current_dir);该函数将返回一个目录句柄,这一点与函数fopen()返回文件句柄是非常类似的。在目录打开后,可以通过调
2017-12-04 22:35:42
1540
原创 PHP is_uploaded_file()、move_uploaded_file() 函数
PHP is_uploaded_file()、move_uploaded_file() 函数is_uploaded_file() 函数判断指定的文件是否是通过 HTTP POST 上传的。语法is_uploaded_file(file) 参数 描述 file 必需。规定要检查的文件。说明如果 file 所给出的文件是通过 HTTP POST 上传的则返回 TRUE。 该函数可以用于确
2017-11-27 23:32:32
1029
原创 PHP文件上传:\$_FILES数组及$_FILES['userfile']['error']中返回的错误代码
PHP文件上传:$_FILES数组及$_FILES[‘userfile’][‘error’]中返回的错误代码在PHP脚本中,上传文件需要处理的数据保存在超级全局数组$_FILES中。保存$_FILES数组中的元素时,将同时保存HTML表单的<file>标记名称。表单元素名称是userfile,因此该数组将具有如下所示的内容:存储在$_FILES[‘userfile’][‘tmp_name’]变量中
2017-11-27 22:44:49
1752
原创 PHP php.ini中关于文件上传的设置指令
PHP php.ini中关于文件上传的设置指令 指令 描述 默认值 file_uploads 控制是否允许HTTP方式的文件上传。允许值为On或Off ON(启用) upload_tmp_dir 指定上传的文件在被处理之前的临时保存目录,如果没有设置该选项将使用系统默认值 NULL upload_max_filesize 控制允许上传的文件最大大小。如果文件
2017-11-26 21:18:11
597
原创 判断浏览器是否用微信访问
判断浏览器是否用微信访问 实现原理: 通过判断 User Agent 中是否有 MicroMessenger 关键字,有为微信内置浏览器,无则不是。判断是否为微信内置浏览器,首先需要获取浏览器的User Agent,在 iPhone 上的微信浏览器检测,它的 User Agent 是:Mozilla/5.0 (iPhone; CPU iPhone OS 6_1_3 like Mac OS X)
2017-11-22 22:45:33
429
原创 addslashes()、stripslashes()、htmlspecialchars()、htmlspecialchars_decode()函数
addslashes()、stripslashes()、htmlspecialchars()、htmlspecialchars_decode()函数addslashes() 函数:在每个双引号(”)前添加反斜杠 stripslashes()函数:删除反斜杠 例子:<?php $string = 'Peater talk to me:"Hello !"'; $stringAdd =
2017-11-21 23:34:32
549
原创 PHP延迟静态绑定
PHP延迟静态绑定PHP 5.3版本引入了延迟静态绑定(late static binding)的概念,该特性允许在一个静态继承的上下文中对一个被调用类的引用。父类可以使用子类重载的静态方法。如下所示的是PHP手册提供的延迟静态绑定示例:<?phpclass A{ public static function who(){ echo__CLASS__; } pub
2017-11-06 22:40:18
166
原创 auto_prepend_file和auto_append_file的实用方法
auto_prepend_file和auto_append_file的实用方法如果希望使用require()将页眉和脚注加入到每个页面中,除了使用require函数引入外,还可以使用配置文件设置。在配置文件php.ini中有两个选项auto_prepend_file和auto_append_file。通过这两个选项来设置页眉和脚注,可以保证它们在每个页面的前后被载入。使用这些指令包含的文件可以像使用
2017-11-01 22:58:48
1348
原创 PHP require()和include()函数
PHP require()和include()函数 PHP提供了两个非常简单却很有用的语句,它们允许重新使用任何类型的代码。使用一条require()或include()语句,可以将一个文件载入到PHP脚本中。通常,这个文件可以包含任何希望在一个脚本中输入的内容,其中包括PHP语句、文本、HTML标记、PHP函数或PHP类。这些语句的工作方式类似于大多数Web服务器提供的服务器端包含方式以及C语
2017-10-30 23:00:09
1419
原创 替换字符串:str_replace()、substr_replace()函数
替换字符串:str_replace()、substr_replace()函数进行替换操作最常用的字符串函数是str_replace()。它的函数原型如下所示:mixed str_replace(mixed needle,mixed new_needle,mixed haystack[,int&count]));这个函数用”new_needle”替换所有haystack中的”needle”,并且返回
2017-10-27 00:11:49
6371
原创 PHP 在字符串中查找字符串函数:strstr()、strchr()、strrchr()和stristr()
PHP 在字符串中查找字符串函数:strstr()、strchr()、strrchr()和stristr() 为了在一个字符串中查找另一个字符串,可以使用函数strstr()、strchr()、和stristr()中的任意一个。函数strstr()是最常见的,它可以用于在一个较长的字符串中查找匹配的字符串或字符。请注意,在PHP中,函数strchr()和strstr()完全一样,虽然其函数名的
2017-10-26 00:02:12
10197
原创 PHP 字符串的排序:strcmp()、strcasecmp()和strnatcmp()
PHP 字符串的排序:strcmp()、strcasecmp()和strnatcmp() strcmp()、strcasecmp()和strnatcmp()函数可用于字符串的排序。当进行数据排序的时候,这些函数是非常有用的。strcmp()的函数原型如下所示:int strcmp(string str1,string str2);该函数需要两个进行比较的参数字符串。如果这两个字符串相等,该函
2017-10-25 23:37:57
7263
原创 PHP使用strtok()函数
PHP使用strtok()函数 与函数explode()每次都将一个字符串全部分割成若干小块不同,strtok()函数一次只从字符串中取出一些片段(称为令牌)。对于一次从字符串中取出一个单词的处理来说,strtok()函数比explode()函数的效果更好。strtok()函数的原型如下所示:string strtok(string input,string separator);分隔符可以
2017-10-25 00:04:27
1313
原创 PHP 使用函数explode()、implode()和join()分割和连接字符串
PHP 使用函数explode()、implode()和join()分割和连接字符串 通常,我们想查看字符串的各个部分。例如,查看句子中的单词(例如,拼写检查),或者要将一个域名或电子邮件地址分割成一个个的组件部分。PHP提供了几个字符串函数(和一个正则表达式函数)来实现此功能。分割字符串:explode()函数,它的函数原型如下所示:array explode(string separato
2017-10-24 22:27:05
9344
原创 PHP 格式化字符串函数:addslashes()和stripslashes()
PHP 格式化字符串以便存储:addslashes()和stripslashes()函数 除了使用字符串函数来重新格式化一个可见的字符串之外,也可以使用其中的一些函数来重新格式化字符串,以便将其存入数据库。对于字符串来说,某些字符肯定是有效的,但是当将数据插入到数据库中的时候可能会引起一些问题,因为数据库会将这些字符解释成控制符。这些有问题的字符就是引号(单引和双引)、反斜杠(\)和NULL字符
2017-10-23 23:52:55
589
原创 阅读笔记 > 重构的格式
重构的格式每个重构手法一般都有如下五个部分:首先是名称(name) 建造一个重构词汇表,名称是很重要的。名称之后是一个简短概要(summary) 简单介绍此重构手法的适用情景,以及它所做的事情。这部分可以帮助你更快找到你所需要的重构手法。动机(motivation) 为你介绍「为什么需要这个重构」和「什么情况下不该使用这个重构」。作法(mechanics) 简明扼要地一步一步介绍如何进行此一重构。范
2017-10-14 00:15:09
261
原创 PHP的特定类型的测试函数
PHP的特定类型的测试函数 PHP还提供了一些特定类型的测试函数。每一个函数都使用一个变量作为其参数,并且返回true或false。如下:is_array():检查变量是否是数组。is_double()、is_float()、is_real()(所有都是相同的函数):检查变量是否是浮点数。is_long()、is_int()、is_integer()(所有都是相同的函数):检查变量是否是
2017-10-10 22:40:41
301
原创 PHP变量的作用域
PHP变量的作用域 作用域是指在一个脚本中某个变量可以使用或可见的范围。PHP具有6项基本的作用域规则。内置超级全局变量可以在脚本的任何地方使用和可见。常量,一旦被声明,将可以在全局可见;也就是说,它们可以在函数内外使用。在一个脚本中声明的全局变量在整个脚本中是可见的,但不是在函数内部。函数内部使用的变量声明为全局变量时,其名称要与全局变量名称一致。在函数内部创建并被声明为静态的变量无法
2017-10-10 22:38:45
184
原创 编程常用词汇
常用编程词汇 1. status 状态 2. source 来源 3. destination 目的地、终点 4. info 信息 5. data 数据 6. variable 可变的 7. generation timestamp 生成时间戳 8. payment 支付、付款 9. page
2017-09-21 00:01:33
859
转载 PHP 常用的header头部定义
PHP 常用的header头部定义 header() 函数向客户端发送原始的 HTTP 报头。 认识到一点很重要,即必须在任何实际的输出被发送之前调用 header() 函数(在 PHP 4 以及更高的版本中,您可以使用输出缓存来解决此问题):
2017-09-19 16:19:13
314
原创 阅读笔记 > 靠“巧合”编程?
你有没有看过老式的黑白战争片?一个疲惫的士兵警觉地从灌木丛里钻出来。前面有一片空旷地那里有地雷吗?还是可以安全通过?没有任何迹象表明那是雷区——没有标记、没有带刺的铁丝网、也没有弹坑。士兵用他的刺刀戳了戳前方的地面,又赶紧缩回来,以为会发生爆炸。没有。于是他紧张地向前走了一会儿,刺刺这里,戳戳那里。最后。他确信这个地方是安全的,于是直起身来。骄傲地正步向前走去,结果却被炸成了碎片。 士兵起初的
2017-08-22 23:52:17
461
原创 阅读笔记 > 关于代码注释
关于代码注释注释的种类可以分成五类:代码的重复重复的注释,用不同的词重申了代码的内容。它没有给读者提供代码的附加信息。 代码的解释解释性注释,典型地用于解释复杂的,有效的和灵敏的代码段。这种情况下,他们是有用的,但常常是由于代码是易混淆的。假如代码复杂到需要解释,那么改进代码总比增加注释更好些。使代码本身清晰,然后使用总结或注释。代码中的标记标记注释并非是故意留在代码中的注释。它是给开发者的记录,表
2017-07-20 00:22:29
540
原创 阅读笔记 > 编程需要考虑的问题
阅读笔记 > 编程需要考虑的问题子程序每一个子程序名都确切地描述了要做什么事吗? 每一个子程序详细定义任务吗? 程序会从它们的子程序中获益吗? 每个子程序的接口处明确吗? 数据名称类型名的描述足以帮助文件数据说明吗? 变量名好吗? 变量仅用于命名这个目的吗? 循环计算变量能给出更多的信息吗? 用枚举类型变量来代替标记或逻辑变量了吗? 命名常量没有用来代替数字
2017-07-19 23:40:01
275
原创 阅读笔记 > 受欢迎程序的设计特点
高质量的设计往往有一些共同的特点。如果你能达到这些对象,那么可以认为你的设计也是非常成功的。有些对象是互相矛盾的。但是这是设计的挑战所在,在相互矛盾的对象之间做出合理的折衷。某些高质量设计的特点同时也是高质量程序的特点——可靠性。其余的则是设计所独有的。以下是设计所独有的一些特点:智力上的可管理性。 对于任何系统来说,智力上的可管理性都是其重要目标之一。它对于整个系统的完整性是非常重要的,并且会影
2017-06-30 00:38:31
227
原创 阅读笔记 > 软件开发中怎样解决问题?
1. 理解问题,你必须理解要解决的问题问题是什么?条件是什么?数据是什么?有可能满足条件吗?已知条件足以确定未知吗?已知条件是否不够充分?是否矛盾 7是否冗余?画一个图,引入恰当的符号,把条件的不同部分分解开。2. 设计一个方案。找到已知数据和未知之间的联系。如果不能找出直接联系的话,你可能不得不考虑一些辅助问题,但最后,你应该找到一个解决方案。以前你是否遇到过这个问题?或者是见过与它稍有不同的问
2017-06-30 00:37:03
232
原创 php实现无限极分类
php实现无限极分类<?php //待测试数据 $data = array( array('id'=> 1,'name'=>'AAA','pid'=>0), array('id'=> 2,'name'=>'BBB','pid'=>0), array('id'=> 3,'name'=>'CCC','pid'=>0), arr
2017-06-21 15:32:31
281
原创 阅读笔记 > 程序设计语言( PDL )
程序设计语言( PDL ) PDL(程序设计语言)是由 Came,Fat her 和 Gordon 共同开发的,在 1975 年发表之后.曾作过重大修改。因为 PDL 是在模仿英语,所以认为任何像是英语的 PDL,都可以正确表达思想是很自然的。但是,事实上 PDL之间的好坏是有判别的。下面是有效使用 PDL的一些方针: 用模拟英语的语句来精确描述每一个特定操作。避免使用最终程序语言的语句。P
2017-06-18 17:17:45
15233
2
原创 阅读笔记 > 错误处理
错误处理已成为当代计算机科学中最棘手的问题,没有谁能担负起频繁应付它的负担。有 人估计,程序中有 90%的代码是为了应付例外的错误处理或者内务处理而编写的,就是说仅有 10%的代码才是处理正常情况的。既然有如此多的代码是用于错误处理,那么在结构中阐明处 理错误的策略就是十分必要的了。以下是些需要考虑的问题:错误处理需要考虑的问题错误处理是纠正还是仅仅测试错误?如果是纠正错误,程
2017-06-14 23:15:34
174
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人