
php
hufangzhou_hfz
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
mysql8.0版本移除了PASSWORD函数
mysql8.0 版本再用password函数就会报错:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near因此可以用MD5或者SHA1这两个函数替代!原创 2020-07-06 16:58:50 · 3827 阅读 · 0 评论 -
PHP 排序算法(五) 希尔排序
希尔排序希尔排序又称缩小增量排序,是指将无序序列,按照增量的不同大小,分成若干个序列,然后对子序列进行插入排序,本质上就是插入排序。思路:我们先确定增量,一般初始增量我们都设置为数组长度的一半(向下取整); 我们根据增量,将数组分成了若干个子序列: 分别对这四个子序列进行插入排序: 然后再一次遍历,增量设置为原先的一半,也就是继续除以2(向下取整),得出的序列: 分别对这两个序列进行插入排序,结果为: 再将增量除以2得到新增量为1,便...原创 2020-07-05 16:17:27 · 395 阅读 · 2 评论 -
PHP 排序算法(四) 快速排序
快速排序思路:我们首先要找到一个基准,数组的前半部分是比基准小的元素,数组后半部分是比基准大的元素,这里我就拿数组第一个元素作为基准; 设置队首和队尾两个指针; 队尾指针先进行活动,一直向队首移动,直到找到比基准值小的元素,然后将这个值赋给队首指针处; 下面队首指针开始活动,一直向队尾移动,直到找到比基准值大的元素,然后将这值赋给队尾指针处; 等到队首指针和队尾指针指向同一处时,将基准值赋给当前指针指向的同一位置,此时,基准元素前面的都是比它要小的元素,后面都是比它大的元素; 接...原创 2020-07-04 11:37:31 · 588 阅读 · 0 评论 -
PHP 排序算法(三) 插入排序
插入排序(以升序为例)核心思想:将数组看成两个数组,左边的是有序数组,右边的是无序数组。将右边的元素,一个个插入到有序数组数组中。首先要找一个基准,所以就拿第一个元素 $arr[0]来作为有序数组的第一个元素function insertSort($arr) { //获取数组单元个数 $count = count($arr); //外层循环用于从未排序区域中取出待排序元素 for ($i=1; $i < $count; $i++) { //原创 2020-07-03 12:12:30 · 195 阅读 · 0 评论 -
PHP 排序算法(二) 选择排序
详细的实现和原理放在了代码中,欢迎大家评论区指正!/* * 选择排序 * 1. 选择,可以说是筛选,也就是每一次遍历都要找到最小的一个数 * 2. 首先,选择排序算法的思想是将这个数组看成两个数组,一个是有序的,另一个是无序的 * 举例说明:有一个数组$arr = array(4,1,3,2); * 起始,我们可以看成{null}{4,1,3,2} 这样两个数组,前一个是有序的,后一个是无序的 * 进入第一次循环,我们筛选出了最小数1,所以我们将1放到有序数组中,结果.原创 2020-07-02 18:07:35 · 206 阅读 · 0 评论 -
PHP 排序算法(一) 冒泡排序
详细实现和原理已经放在了代码里了,欢迎大家在评论区指正!/* * 冒泡排序(以升序为例) * 1. 将数组中左右相邻的两个数进行比较,数值大的放在右边 * 2. 这样一趟下来,整个数组中最大的就排在了最右边,所以下一遍比较的时候就不用比较最后一个元素,简言之可以少比较一次 * 3. 那么由此可推出,整体需要遍历数组长度length-1次,每一行比较length-i-1次 * 4. 可以得出冒泡排序的时间复杂度为O(n^2) * **/function BubbleSort($arr).原创 2020-07-01 16:56:03 · 156 阅读 · 0 评论 -
thinkphp5.1出现模块不存在或者No input file specified.的问题
目前博主还未找到出现该问题的原由,只找到了解决方法,如下:修改public目录下的.htaccess文件:<IfModule mod_rewrite.c>Options +FollowSymlinks -MultiviewsRewriteEngine OnRewriteCond %{REQUEST_FILENAME} !-dRewriteCond %{REQUEST_...原创 2019-10-31 19:12:11 · 1229 阅读 · 0 评论 -
composer 安装指定的thinkphp版本
最近正在学习thinkphp5,因为现在tp6已经正式发布,所以当你想要使用如下命令下载或者创建tp5.*版本的项目时,他会下载最新版本,很是头大。所以我们需要指定版本,现在我们以创建新项目的命令为例:原命令:composer create-project topthink/think tp5--prefer-dist"tp5" 代指我要创建的项目名称指定版本的命令:...原创 2019-10-31 18:11:39 · 2927 阅读 · 2 评论 -
PHP 执行mysql事务回滚时遇到的问题
1.当使用字符串拼接的方式,定义多条数据库语句的时候,切记在每一条数据库语句的后面要加上分号,否则,php将会对这"多条sql语句"识别为一条。当你执行mysqli_multi_query($sql)时,PHP将会按照你的逻辑语句提醒你所谓的“第二条sql语句”出现问题,然后你又会去用mysql命令行单个执行sql语句发现并没有报错,正常执行没有问题,然后发现实际就是缺少了一个分号,导致php识别...原创 2019-07-01 10:20:06 · 902 阅读 · 0 评论 -
解决mysql5.7版本不能正常登录问题
在mysql5.7版本中,mysql.user表中的“密码”字段由原本的“password”改成了现在的"authentication_string",所以刚开始修改root的密码时,语句改为:update mysql.user set authentication_string='你的密码' where user='root';这样就完了吗?然而并不是,这样改完之后,你会发现再登...原创 2019-06-29 20:59:52 · 1085 阅读 · 0 评论 -
php关于变量值作为函数名的用法
//在内存中创一个和我们这个图片一样的图片$ext = "imagecreatefrom{$type}";//把该图片放入内存中$image = $ext($img);这是PHP中给图片添加水印的一段代码,当时一直以为那个imagecreatefrom是一个函数,但没有看懂为什么后面是一个{},继而下方又是一个变量加上一个圆括号,括号里面又是一个变量,弄得我摸不着头脑——根本没见过这...原创 2018-11-17 21:40:39 · 4845 阅读 · 0 评论 -
Notepad++ 配置PHP编译环境
1.安装好notepad++;2.到这里http://sourceforge.net/projects/npp-plugins/files/下载NppExec插件,下载完成后,找到NppExec.crx文件放在Plugin文件下,或者点击工具栏找到插件,点击“plugin Manager”然后找到该插件直接install;3.下载完成后点击插件,找到NppExec,点击Execute,弹出...原创 2018-10-21 12:23:09 · 4006 阅读 · 0 评论 -
关于php换行符问题
在PHP中不像c/c++那样有着属于自己的换行符,在编译PHP时,如果只是简单的在编译器里运行,完全可以使用PHP_EOL来当做换行符,但是在网页里却无法实现换行操作。这时我们就要用到<br>(<br/>)(这两种用哪个都可以),在编译器里运行会直接打印出来<br>或者<br/>,在网页里运行却可以实现换行。...原创 2018-03-18 16:36:54 · 551 阅读 · 0 评论 -
Mac下PHPstorm2017.3.4激活问题
1.首先去官网下载 官网下载链接2.下载后直接拖动进应用程序安装即可3.安装后直接打开 在如下图片的窗口中选中License server,在address文本框里输入http://idea.ibdyr.com 然后点击Activate就可以使用了。 亲测好用: Welcome to PhpStorm 哇卡卡~ ...原创 2018-02-27 17:59:53 · 1058 阅读 · 0 评论