随笔分类 - PHP
摘要:$countValues = array_count_values($titleArr); // 筛选出出现次数大于1的值 $duplicates = array_filter($countValues, function($value) { return $value > 1; }); // 获取
阅读全文
摘要:public function getFolderData($dir) { $data = array(); // 打开目录并读取其中的文件/文件夹 $handle = opendir($dir); while (false !== ($file = readdir($handle))) { if
阅读全文
摘要:$filePath: 压缩包路径 ../123.zip $path:要解压的目录 ../unzip/ public function newUnzip($filePath,$path) { $zip= new \ZipArchive(); if($zip->open($filePath) true)
阅读全文
摘要:Sphinx特性: 高速的建立索引(在当代CPU上,峰值性能可达到10MB/秒); 高性能的搜索(在2–4GB的文本数据上,平均每次检索响应时间小于0.1秒); 可处理海量数据(目前已知可以处理超过100GB的文本数据,在单一CPU的系统上可处理100M文档); 提供了优秀的相关度算法,基于短语相似
阅读全文
摘要:/*** * 斐波那契数递归法,f(n) = f(n-1) + f(n-2) */ function fib($n) { if ($n < 2) { return 1; } else { return $this->fib($n - 1) + $this->fib($n - 2); } }
阅读全文
摘要:框架是用的tp5.1 使用composer 安装 composer require workerman/phpsocket.io 扩展 然后public入口出新建socket.php 具体代码如下: <?php // [ 应用入口文件 ] namespace think; // 加载基础文件 req
阅读全文
摘要:一、首先在github注册账号 然后https://github.com/settings/applications/1267636这里填写相关资料获取到key和secret 二、在.env配置文件写相关配置: GITHUB_KEY=Client ID GITHUB_SECRET=Client Se
阅读全文
摘要:/** * @param array $data * @param string $msg * @param int $code * @return string */ function _success($data = [],$msg = '操作成功',$code = 200) { return
阅读全文
摘要:长度 strlen($string):得到字符串长度 字符串查找 strpos($string, $search[, $offset]):在指定字符串中查找目标字符串第一次出现的位置 stripos($string, $search[, $offset]):忽略大小写的去查找 strrpos($st
阅读全文
摘要:一、数组的一些关于键名和值的基础操作函数 1.获取数组所有的键或值:array_keys() array_values() $arr_keys = array_keys($array); $arr_values = array_values($arr); 2.交换数组中键和值的位置,若重复前面的会被
阅读全文
摘要:<?php /** * 微信分享相关 * * @since 2017-07-15 */ use Yaf\Registry; class Service_WxShare{ private $appId; private $appSecret; public function __construct($
阅读全文
摘要:1:虚拟机配置文件修改: location / { index index.php index.html; if (!-e $request_filename) { rewrite ^/index.php(.*)$ /index.php?s=$1 last; #必须在前面 rewrite ^(.*)
阅读全文
摘要:str_pad(string,length,pad_string,pad_type)//参数 描述string //必需。规定要填充的字符串。length //必需。规定新的字符串长度。如果该值小于字符串的原始长度,则不进行任何操作。pad_string //可选。规定供填充使用的字符串。默认是空白
阅读全文
摘要:PM(FastCGI 进程管理器)用于替换 PHP FastCGI 的大部分附加功能,对于高负载网站是非常有用的。 它的功能包括: 支持平滑停止/启动的高级进程管理功能; 可以工作于不同的 uid/gid/chroot 环境下,并监听不同的端口和使用不同的 php.ini 配置文件(可取代 safe
阅读全文
摘要:将各种截然不同的函数接口封装成统一的API。 PHP中的数据库操作有MySQL,MySQLi,PDO三种,可以用适配器模式统一成一致,使不同的数据库操作,统一成一样的API。类似的场景还有cache适配器,可以将memcache,redis,file,apc等不同的缓存函数,统一成一致。 首先定义一
阅读全文
摘要:注册模式,解决全局共享和交换对象。已经创建好的对象,挂在到某个全局可以使用的数组上,在需要使用的时候,直接从该数组上获取即可。将对象注册到全局的树上。任何地方直接去访问。
阅读全文
摘要:单例模式有以下3个特点: 1.只能有一个实例。 2.必须自行创建这个实例。 3.必须给其他对象提供这一实例。 $_instance必须声明为静态的私有变量 构造函数和析构函数必须声明为私有,防止外部程序new 类从而失去单例模式的意义 getInstance()方法必须设置为公有的,必须调用此方法
阅读全文
摘要:工厂模式:工厂方法或者类生成对象,而不是在代码中直接new。 使用工厂模式,可以避免当改变某个类的名字或者方法之后,在调用这个类的所有的代码中都修改它的名字或者参数。 参考代码:
阅读全文
摘要:/** * 数组层级缩进转换 * @param array $array 源数组 * @param int $pid * @param int $level * @return array */ function array2level($array, $pid = 0, $level = 1) { static $list = []; foreach ($a...
阅读全文
摘要:$str='中'; echo strlen($str)."\n";//3 echo mb_strlen($str,'utf8')."\n";//1 echo mb_strlen($str,'gbk')."\n";//2 echo mb_strlen($str,'gb2312')."\n";//2 $string = "as-df-sds"; echo str_replace(" ","",uc
阅读全文