
php
xiangshui021
这个作者很懒,什么都没留下…
展开
-
分批批量导出百万条数据记录
/** * csv 批量导出 * @param $mpid * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\ModelNotFoundException * @throws \think\exception\DbException */public function ...转载 2019-10-17 00:14:49 · 1223 阅读 · 0 评论 -
php 语法里0不等于null为空的解决办法
今天做信息收集页面时遇到一个奇怪的问题,研究了好久才发现问题的根源,的确是有点怪异。(小弟常使用的是 C# , java 等语言, php只是偶尔在用,不是研究很深)。请各位资深php程序员别见笑 问题是这样的: php 语句里,我想判断一个值大于等于0. 我是使用 ($value !=null && $value >=0), 返回的结果为空,这点真的好奇怪。实验总结:ph转载 2017-09-11 17:06:26 · 5950 阅读 · 0 评论 -
PHPTree——快速生成无限多级分类
$data = array( array( 'id' => 1, 'text' => '用户管理', 'parent_id' => 0 ), array( 'id' => 2, 'text' => '用户列表', 'parent_id' => 1 ), array( 'id' => 3, 'text' => '权限管理', 'parent_id' =>转载 2017-12-27 18:05:43 · 2437 阅读 · 0 评论 -
sublime产生多行游标的4种方式
ctrl+d ctrl+k跳过ctrl+a ctrl+shift+Lshift+右键alt+f3转载 2018-03-12 15:42:11 · 826 阅读 · 0 评论 -
PHP发送HEAD方法请求
HEAD方法在99%的web服务中支持(不完全统计,默认都是HEAD、POST、GET,除了某些极其特殊的应用会限制HEAD方法),HEAD方法有很多用途,比如探测网页的状态(HTTP头部信息,404,403,200)。PHP的灵活性,可以很容易地实现HTTP的HEAD方法。1、Socket实现: (直接手写HEAD请求)2、CURL实现: curl_setopt($ch, CURLOPT_...转载 2018-03-12 20:35:02 · 1914 阅读 · 0 评论 -
怎么禁止chrome将http变成https?
Chrome 63 开始 *.dev 域名强制使用 https原创 2018-04-22 21:59:35 · 3497 阅读 · 0 评论 -
php json传对象调用接口
$detailList = array();$detailList[0]['c'] = 4;$singleParam = array();$singleParam['detailList'] = $detailList; //传对象echo (json_encode($singleParam,true));exit;原创 2018-07-07 13:38:43 · 525 阅读 · 0 评论 -
php 二位数组按某个键值排序
<?php$arr=[ array( 'name'=>'小坏龙', 'age'=>28 ), array( 'name'=>'小坏龙2', 'age'=>14 ), array( 'name'=>'小坏龙3', 'age...转载 2018-07-27 14:42:02 · 768 阅读 · 0 评论 -
ajax 利用formdata对象 实现多文件上传
<!doctype html><html lang="zh"><head> <meta charset="utf-8"> <title>多文件上传</title> <script src="jquery.js"></scri转载 2018-09-26 13:45:53 · 617 阅读 · 0 评论 -
完全二叉树/ 满二叉树/二叉树遍历(前序、中序、后序、层序遍历)小甲鱼
原创 2018-11-27 10:19:44 · 675 阅读 · 0 评论 -
PHP 根据数组生成二叉树
<?phpclass node{ public $data; public $left; public $right;}function search($root,$key,$f){ if(!$root){ $data = array(); $data['p'] = $f; $data['state'] = false; return $...原创 2018-12-10 00:03:25 · 943 阅读 · 0 评论 -
php 归并排序
<?phpmergeSort(&$arr,$left,$right,$temp=array()){ if($left<$right){ $mid = floor(($left+$right)/2); mergeSort($arr,$left,$mid,$temp); mergeSort($arr,$mid+1,$right,$temp); merge...原创 2019-03-23 21:14:20 · 131 阅读 · 0 评论 -
php 快速排序
<?phpfunction quickSort($left,$right,&$arr){ $l = $left; $r = $right; $mid = $arr[($left + $right)/2]; $tmp = 0; while($l<$r){ while($arr[$l]<$mid){ $l+=1; } whil...原创 2019-03-23 21:22:56 · 193 阅读 · 0 评论 -
策略模式
<?phpabstract class CashSuper{ abstract public function acceptCash($money);}class CashNormal extends CashSuper{ public function acceptCash($money){ return $money; }}class CashRebate ...原创 2019-04-10 23:37:44 · 135 阅读 · 0 评论 -
代理模式
<?php abstract class subject{ abstract protected function Request();} class RealSubject extends subject{ public function Request(){ echo "真实的请求"; }}class testSubject extends subj...原创 2019-04-10 23:40:04 · 116 阅读 · 0 评论 -
RSA加密解密(PHP Demo)
$private_key = '-----BEGIN RSA PRIVATE KEY-----MIICXQIBAAKBgQDpoODVtnSztGyb//p+g/Ob36jb3jzWzS2qovOjpY/rrTjwlVcQpB2m1nZDQNpTFsG8ZBl7uPw3M81lr7NRRn6tY7Om8tbOOsRgY6u0xwbgdRStFFvwPzZ1HehiQ6WB8za8cucCy...转载 2019-08-07 14:19:03 · 217 阅读 · 0 评论 -
php URL解析函数parse_str和parse_url的区别
php parse_str函数将查询字符串解析到变量中,parse_url函数用于解析整个URL,并返回其组成部分。本文章向大家介绍这两个函数在解析URL时的使用方法和区别。 php parse_str函数php parse_str函数将查询字符串解析到变量中。parse_str函数有两个参数,第一个参数为需要解析的查询字符串并且是必须的,第二个参数用于设置接收解析查询字符串的变量,第转载 2017-09-14 11:16:28 · 618 阅读 · 0 评论 -
PHP 出现解析json数据出错的问题
遇到js传给PHP端一个json数据,json_decode无法解析返回null,用json_last_error返回错误码,发现是语法错误!费了半天劲查找原因!原来是key,value没有加上双引号,还有数据中使用了单引号这两个原因导致php无法解析。话不多,直接上解决方法!方法如下:<?php$json = "{id : 'root',item : [{id : 001,转载 2017-07-04 18:13:53 · 3195 阅读 · 0 评论 -
组合索引
/** * 重置指定数组的索引为元素中的指定值, 一般用于将数据库查询获取的多条记录的数字索引改为记录主键格式 * @param array $dataArray * @param string $newIndexSource * 必须位于第二维, 如果是多个作为组合索引, 则传入数组即可, 如: array('id', 'ty原创 2016-04-01 15:49:58 · 310 阅读 · 0 评论 -
php项目调试sql
做php的经常会对一些开源产品进行二次开发,刚开始不了解其业务逻辑,数据结构等,理解其代码来比较麻烦。所以我写了一个简单的php脚本,来监控每一次请求的执行的所有sql,通过看sql来理解其业务逻辑。sql_debug.php代码如下:<?php//使用方法://1:在使用的框架的核心入口文件里面包含include '' 包含此文件//2:找到核心mysql数据库访转载 2016-05-24 10:29:31 · 654 阅读 · 0 评论 -
高并发 php uniqid 不重复唯一标识符生成方案
PHP uniqid()函数可用于生成不重复的唯一标识符,该函数基于微秒级当前时间戳。在高并发或者间隔时长极短(如循环代码)的情况下,会出现大量重复数据。即使使用了第二个参数,也会重复,最好的方案是结合md5函数来生成唯一ID。PHP uniqid() 生成不重复唯一标识方法一这种方法会产生大量的重复数据,运行如下PHP代码会数组索引是产生的唯一标识,对应的元素值是该唯一标识重复的次数。<转载 2016-05-29 13:34:06 · 1356 阅读 · 0 评论 -
一个常用的生成唯一订单号方法
/** * 生成唯一订单号 */ public function build_order_no() { $no = date('Ymd').substr(implode(NULL, array_map('ord', str_split(substr(uniqid(), 7, 13), 1))), 0, 8); //检测是否存在原创 2016-06-12 14:35:02 · 13739 阅读 · 0 评论 -
ThinkPHP URL路由解析
ThinkPHP是国内非常火的一个轻量级框架,采用MVC模式,结构写的非常好,今天 大象 带大家走一下ThinkPHP框架系统运行流程,我将跟随ThinkPHP的执行进行代码讲解,第一课,先讲解URL路由解析一、ThinkPHP框架目录/test/index.php //项目入口文件/ThinkPHP/ThinkPHP.php //框架入口文件 Common 框架公共文转载 2016-06-12 14:49:44 · 1213 阅读 · 0 评论 -
Thinkphp源码分析系列(六)–路由机制
在ThinkPHP框架中,是支持URL路由功能,要启用路由功能,需要设置ROUTER_ON 参数为true。开启路由功能后,系统会自动进行路由检测,如果在路由定义里面找到和当前URL匹配的路由名称,就会进行路由解析和重定向。在tp中,程序会先从请求的url中解析出来一串字符,如果没有开启路由的话,那么tp就会从这串字符中解析出来模块,控制器和方法以及参数。如果开启路由的话,那么tp会遍转载 2016-06-12 14:56:14 · 974 阅读 · 0 评论 -
PHP将数字金额转化为中文人民币大写
/***数字金额转换成中文大写金额的函数*String Int $num 要转换的小写数字或小写字符串*return 大写字母*小数位为两位**/function num_to_rmb($num){ $c1 = "零壹贰叁肆伍陆柒捌玖"; $c2 = "分角元拾佰仟万拾佰仟亿"; //精确到分后面就不要了,所以只留两个小数位原创 2016-06-13 18:22:50 · 527 阅读 · 0 评论 -
CORS(跨域资源共享)简介。。。ie67不支持
前言:像CORS对于现代前端这么重要的技术在国内基本上居然很少有人使用和提及,在百度或者Google上搜索CORS,搜到的中文文章基本都是另外一种卫星定位技术CORS的介绍,让我等前端同学情何以堪(对比起来,用Google搜到的国外文章,基本都是跨域资源共享的介绍,说明了前端技术在国内外环境和发展的巨大差距)。 我之前《用HTML5实现人脸识别》这篇文章中提到了“Face.com转载 2016-07-22 13:47:42 · 343 阅读 · 0 评论 -
php判断检测一个数组里有没有重复的值
php里有一个处理数组重复值得函数array_unique,我们的思路就是用这个函数来实现的。if (count($array) != count(array_unique($array))) { echo '该数组有重复值'; }原创 2016-06-30 11:37:22 · 3777 阅读 · 0 评论 -
php jsonp单引号转义
php中jsonp输出时一般用下面的格式:callbackname('json string');如果中间的json string中含有单引号,这个输出就是有问题的,调用方一般是无法处理的,所以我们要对单引号进行转义。如果是用json_encode方式生成可以用下面的方式转义:$ret = json_encode($result, JSON_HEX_APOS);hea转载 2016-07-20 11:52:22 · 397 阅读 · 0 评论 -
php 无限分类 递归
foreach( array_keys( $list ) as $key ){ if( $list[$key]['fid'] == 0 ) { continue; } if( putChild( $list , $list[$key] ) ) { unset( $list[$ke原创 2016-09-14 10:01:38 · 244 阅读 · 0 评论 -
php 限制输入文字
$newStr = preg_replace('/[^\x{4e00}-\x{9fa5}]/u', '', $_GET['content']); $countstr = mb_strlen($newStr,"utf-8"); if($countstr>200){ echo '文字不能超过200个字'; }原创 2016-09-14 10:03:34 · 2094 阅读 · 1 评论 -
PHP 无限分类三种方式,非函数的递归调用!
php无限分类大致有三种方式, 1、数据库通过设置父类ID来进行唯一索引,然后使用函数的递归调用实现无限分类; 2、数据库设计通过特定格式进行排列,然后使用mysql查询关键函数:concat。程序实现比较简单; 3、第三种不是太了解, 好像要使用到算法和数据结构进行排列。今天我主要分享下第二种方式,一开始也是找了很多资料,确实比较难理解。不过最终还是给搞明白了,因此记下随笔转载 2016-09-14 10:29:05 · 252 阅读 · 0 评论 -
PHP检测每一段代码执行时间
<?php// 实例1/** * @start time */function proStartTime() { global $startTime; $mtime1 = explode(" ", microtime()); $startTime = $mtime1[1] + $mtime1[0];}/** * @End time */functio转载 2016-11-02 11:02:32 · 2246 阅读 · 0 评论 -
PHP 二维数组根据某个字段排序
本文记录的要实现的功能类似于 MySQL 中的 ORDER BY,上个项目中有遇到这样的一个需求。要求:从两个不同的表中获取各自的4条数据,然后整合(array_merge)成一个数组,再根据数据的创建时间降序排序取前4条。遇到这个要求的时候就不是 ORDER BY 能解决的问题了。因此翻看 PHP 手册查找到了如下方法,做此笔记。废话少说,奉上代码,清单如下:<转载 2017-05-09 22:39:55 · 245 阅读 · 0 评论 -
PHP 对二维数组进行指定key排序
PHP一维数组的排序可以用sort(),asort(),arsort()等函数,但是PHP二维数组的排序需要自定义。方法一:(经验证,成功)作用:对二维数组进行指定key排序参数:$arr 二维数组 ,$shortKey 需要排序的列,$short 排序方式 $shortType排序类型function multi_array_sort($arr,$shortKey转载 2016-04-01 15:45:30 · 1892 阅读 · 0 评论