php
drzdryse
这个作者很懒,什么都没留下…
展开
-
中文与unicode互转
【代码】中文与unicode互转。原创 2023-06-09 17:07:19 · 882 阅读 · 0 评论 -
数值、Excel列互转
/** * 数值转Excel列 * @param int $num 整数 * @return string */function num2excel(int $num): string{ $str = ''; $arr = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'.原创 2021-12-18 17:04:22 · 567 阅读 · 1 评论 -
反转多字节字符串
/** * 反转多字节字符串 * @param string $multibyte 多字节字符串 * @return string */function mb_strrev(string $multibyte): string{ $str = ''; $len = mb_strlen($multibyte); // 反转中文字符串 for ($i = $len - 1; $i > -1; -- $i) { $str .= mb_subs..原创 2021-11-12 10:57:26 · 215 阅读 · 0 评论 -
数字转人民币大写,PHP实现
/** * 获取人民币数字大写 * @param int|string $num * @return string */function get_rmb(int|string $num): string{ $str = ''; $a = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖']; $b = ['分', '角', '元', '整']; $c = ['', '拾', '佰', '仟']; $d =.原创 2021-11-12 15:00:00 · 439 阅读 · 0 评论 -
对长数字字符串进行四舍五入
/** * 对长数字字符串四舍五入 * @param string $num 长数字字符串 * @param int $places 保留小数位数 * @return string */function sp_round(string $num, int $places): string{ // 检验数字字符串 preg_match_all('/[^\d.]+/', $num, $matches); if ($matches[0]) die('不合法的数字字符串.原创 2021-11-12 10:45:59 · 550 阅读 · 0 评论 -
获取随机名字
/** * 获取文件行数 * @param string $filename 文件名 * @return int */function file_line(string $filename): int{ if (!file_exists($filename)) die('文件不存在'); $n = 0; $fp = fopen($filename, 'r'); while (!feof($fp)) { if (fgets($fp)) ++ ..原创 2021-11-03 10:55:59 · 243 阅读 · 0 评论 -
获取文件指定行内容(多行)
/** * 获取文件指定行内容(多行) * @param string $filename 文件名(路径) * @param array $lines 文件行数(多行) * @param bool $mod 是否去除空格,默认去除 * @return array */function file_content(string $filename, array $lines, bool $mod = true): array{ if (!file_exists(..原创 2021-11-03 10:39:22 · 292 阅读 · 0 评论 -
获取文件行数
/** * 获取文件行数 * @param string $filename 文件名 * @return int */function file_line(string $filename): int{ if (!file_exists($filename)) die('文件不存在'); $n = 0; $fp = fopen($filename, 'r'); while (!feof($fp)) { if (fgets($fp)) ++ $.原创 2021-11-03 10:37:37 · 377 阅读 · 0 评论 -
获取两个日期(时间戳)之间的差值
/** * 获取两个日期(时间戳)之间的差值 例:get_date_diff('2012-01-01 01:01:01', '2013-02-02 02:02:02') 或者 get_date_diff('1325350861', '1359741722') * @param string|int $var1 日期一(时间戳一) 例:2012-01-01 01:01:01 或者 1325350861 * @param string|int $var2 日期二(时间戳二) 例:2013-02-02 0.原创 2021-11-03 10:35:17 · 1386 阅读 · 0 评论 -
仿PHP原生json_encode函数
$arr = [ 'a' => 'a', 0 => 1, [ 1, 'b' => 'b', [ 1, 'c' ] ]];/** * 仿PHP原生json_encode函数 * @param array $arr 数组 * @return string 返回json字符串 */function json_encode2(array .原创 2021-10-13 17:21:42 · 102 阅读 · 0 评论 -
计算收益 - 揭秘坑爹的养老金 保守算法,减少一年收益
/** * 计算收益 - 揭秘养老金骗局 保守算法,减少一年收益 * @param int $money 每次投钱金额 * @param float $rate 利率 * @param int $age 开始投钱年龄 * @param int $until 结束投钱年龄 * @param int $limit 领钱结束年龄 * @param string $model 模式 y-年 m-月 w-周 * @return array */function ge...原创 2021-07-17 18:40:31 · 124 阅读 · 0 评论 -
PHP获取今天、昨天、明天、本周的日期 -- strtotime 理解并使用
<?php// 打印函数function p($v = '', string $end='<br/>'){ echo $v,$end;} // 今天是 2020-08-04 星期二p('简写:当前时间,今天,昨天');p(date('Y-m-d H:i:s', time())); // 2020-08-04 10:56:36 当前时间p(date('Y-m-d H:i:s', strtotime('now'))); // 2020-08-04 10:56:3.原创 2020-08-04 11:38:58 · 2974 阅读 · 0 评论 -
php 利用curl 模拟浏览器请求
<?phpclass request{ private $curl; private $query = ''; private $user_agent = 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Mobile Safari/537.36'; public function __construct(.原创 2020-07-27 00:31:30 · 1931 阅读 · 0 评论 -
php 腾讯即时IM 导入单个帐号 创建群聊
test.php 文件<?phprequire('function.php');require_once('request.php');// $request = new request();// $ret = $request->request('https://www.baidu.com/', [], 'GET');// dump($ret);require('tencent/im/im.php');$im = new im();// 导入单个帐号$ret =原创 2020-07-27 00:30:26 · 956 阅读 · 0 评论 -
php 验证密码强度
<?phpfunction password_strenth($password){ $score = 0; if(preg_match("/[0-9]+/",$password)) { $score ++; } if(preg_match("/[0-9]{3,}/",$password)) { $score ++; } if(preg_match("/[a-z]+/",$password)) { $score ++; } if(preg_match("/[a.原创 2020-06-25 15:59:53 · 682 阅读 · 0 评论 -
计算机 加减乘除原理 二进制运算 PHP 位运算
<?phprequire('function.php');// 二进制从右向左计算$a = 1; // 1 0001$b = 1 + 2; // 3 0011dump($a & $b); // 0001dump($a | $b); // 0011dump($a ^ $b); // 0010dump(~$a); // -2dump(decbin($a)); // "1"dump(decbin(~$a)); // "111111111111111111111111.原创 2020-06-01 11:20:55 · 312 阅读 · 0 评论 -
php 使用 phpprcode 库 生成二维码
<?phprequire_once '../phpqrcode/phpqrcode.php';/** * 生成二维码图片 * @param string $text 二维码内容 * @param string $outfile 默认为否,不生成文件,只将二维码图片返回,否则需要给出存放生成二维码图片的路径 * @param string $level 这个参数可传递的值分别是L(QR_ECLEVEL_L,7%),M(QR_ECLEVEL_M,15%),Q(QR_ECLEVEL_Q,25%.原创 2020-05-26 21:17:09 · 478 阅读 · 0 评论 -
给定一个整数数组 nums,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。
一般方法:<?phprequire ('function.php');// 给定一个整数数组 nums,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。// 生成一个随机数组$arr = [];$count = mt_rand(7, 12);for ($i = 0; $i < $count; ++$i) { $arr[] = mt_r...原创 2019-12-05 20:18:54 · 3038 阅读 · 0 评论 -
PHP 二维数组元素排列组合 子数组数量固定为2
//$a = [// ['甲' => 'A', '乙' => 'B'],// ['甲' => 'C', '乙' => 'D'],// ['甲' => 'E', '乙' => 'F'],// 。。。无限次//];$a = [ ['甲' => 'A', '乙' => 'B'], ['甲' => 'C', '乙' => ...原创 2019-12-03 13:37:48 · 329 阅读 · 0 评论 -
PHP 移除数组中重复的值 仿 array_unique 函数 以及 进阶函数
// 注意不要把键值设为0 原因如下dump(0 == 'a'); // 返回 true$arr = [ 'a' => 1, 'b' => 1, '' => 'a', 'c' => 'b', 'd' => 'a',];dump($arr);// 仿 array_unique 函数function array_unique2(array &a...原创 2019-11-30 16:06:14 · 161 阅读 · 0 评论 -
PHP 循环 传引用 用法及问题
// 不销毁变量echo '不销毁变量',"\n";$arr = [1,2,3];dump($arr);// 记得测试 foreach 传引用foreach ($arr as &$val){ $val += 1;}dump($arr);$val = 5;dump($arr);执行结果如下:可以看出最后,最后给变量赋值,赋值影响了数组最后数据正确用...原创 2019-11-30 13:17:17 · 218 阅读 · 0 评论 -
将一个的数字转化成中文输出,例如,输入1234567 则输出一百二十三万四千五百六十七
将一个的数字转化成中文输出,例如,输入1234567 则输出一百二十三万四千五百六十七原创 2019-06-28 15:31:25 · 998 阅读 · 0 评论 -
过滤微信昵称特殊字符
$nickname=preg_replace('/[\x{1F600}-\x{1F64F}]/u','',$nickname); $nickname=preg_replace('/[\x{1F300}-\x{1F5FF}]/u','',$nickname); $nickname=preg_replace('/[\x{1F680}-\x{...转载 2018-06-03 14:57:47 · 6287 阅读 · 0 评论 -
输出PHP可直接使用数组 正则替换 牛逼的正则表达式
调试过程中,需要用到被打印到页面上的数据,直接复制下来,还需要修改成正确的数组,特有了这个方法。直接用这个方法在页面上打印出数组,直接把数组复制到PHP文件中,就可以直接使用了。$arr = array( 0 => 1, 1 => array( 0 => 4 ), array( 'b' => 'a' ...原创 2019-08-12 16:42:12 · 1054 阅读 · 0 评论 -
php 将字符串数组按照ascii码排序
require ('function.php');// 比较两串字符的ascii码大小function check_ascii(string $str1, string $str2){ $len1 = strlen($str1); $len2 = strlen($str2); if ($len1 > $len2) { $bool = fal...原创 2019-06-27 17:34:10 · 7101 阅读 · 0 评论 -
百元百鸡
// 公鸡 5 文钱 1 只, 母鸡 3 文钱 1 只, 小鸡 1 文钱买 3 只, 现在用 100 文钱共买了 100 只鸡, 问: 在这 100 只鸡中, 公鸡、 母鸡//和小鸡各是多少只? ( 设每种至少//一只)//5x+3y+1/3z = 100 => 15x+9y+z = 300//x+y+z = 100//14x+8y = 200 => 7x...原创 2019-06-24 16:34:25 · 153 阅读 · 0 评论 -
G2 图表统计
index.php$data1 = [ [ "label" => "Mon.", "type" => "series1", "value" => 2800, ], [ "label" => "Mon.", &原创 2018-10-10 11:49:23 · 2029 阅读 · 0 评论 -
php 递归
/** * 得到所有前端id * @param array $id_pid id=>pid的一维数组 * @param array &$ids 保存的id数组 * @return array */ private static function getIds($id_pid, &$ids){ $id...原创 2018-09-18 17:55:52 · 117 阅读 · 0 评论 -
PHP xml转数组 数组转xml
#数组转XML private function arrayToXml($array,$root='root'){ return $this->xml_encode($array, 'utf-8', $root); } private function xml_encode($array, $charset = 'utf-8', $root)...原创 2018-08-03 13:47:42 · 1006 阅读 · 0 评论 -
使用FTP下载的文件,自动换行,空格的处理方法
1.选择二进制方式重新下载2.将每行的换行符替换为空字符串public function formatWenJian(){ //http://127.0.0.1/index.php/home/test/formatWenJian?path=http://127.0.0.1/application/admin/view2/order/import_order.html...原创 2018-08-02 09:43:52 · 2293 阅读 · 0 评论 -
ThinkPHP 使用 phpExcel-1.8 第三方类 导出excel 导入excel
一、phpExcel-1.8 第三方类 下载地址:https://download.csdn.net/download/m0_37711659/10558941二、将phpExcel解压到\vendor目录 如图:/*** 导出excel* @param array $container 容器* @param array $title 标题* @para...原创 2018-07-25 11:22:22 · 916 阅读 · 0 评论 -
php 快递100接口接入(手机)
/*** 参考文档:https://www.kuaidi100.com/openapi/mobileapi.shtml* 查询快递* @param $postcom 快递公司编码* @param $getNu 快递单号* @return array 物流跟踪信息数组*/function queryExpress($postcom , $getNu) {...原创 2018-04-26 17:03:00 · 494 阅读 · 0 评论 -
switch
public function test(){ echo '这是index模块index控制器test方法'; $get = input('get'); $a = $b = 1; switch($get){ case 0: echo '<hr/>',0; break; ...原创 2018-03-29 11:33:49 · 134 阅读 · 0 评论 -
字符串转数组/得到字符串长度
//字符串长度function strlen_2($str){ for($len =0;;$len++) if(!isset($str[$len])) break; return $len;}dump(strlen_2('1203gh4'));//字符串转数组function str_split_2($str){ $arr = array(); for...原创 2017-11-08 11:22:40 · 354 阅读 · 0 评论 -
浮点数
浮点数的字长和平台相关,尽管通常最大值是 1.8e308 并具有 14 位十进制数字的精度(64 位 IEEE 格式)。Warning 浮点数的精度 浮点数的精度有限。尽管取决于系统,PHP 通常使用 IEEE 754 双精度格式,则由于取整而导致的最大相对误差为 1.11e-16。非基本数学运算可能会给出更大误差,并且要考虑到进行复合运算时的误差传递。此外,以原创 2017-11-08 11:47:40 · 419 阅读 · 0 评论 -
Boolean 理解
当转换为 boolean 时,以下值被认为是 FALSE: ◦ 布尔值 FALSE 本身 ◦ 整型值 0(零) ◦ 浮点型值 0.0(零) ◦ 空字符串,以及字符串 "0" ◦ 不包括任何元素的数组 ◦ 不包括任何成员变量的对象(仅 PHP 4.0 适用) ◦ 特殊类型 NULL(包括尚未赋值的变量) ◦ 从空标记生成的 SimpleXML 对象原创 2017-11-08 11:35:17 · 1932 阅读 · 0 评论 -
Mysql 根据时间戳、时间按年月日分组统计
按时间SELECT DATE_FORMAT(create_time,'%Y%u') weeks,COUNT(id) COUNT FROM account_water GROUP BY weeks;SELECT DATE_FORMAT(create_time,'%Y%m%d') days,COUNT(id) COUNT FROM account_water GROUP BY days;S...原创 2018-11-19 13:48:15 · 2155 阅读 · 0 评论 -
php excel 导出 避免科学计数法
一、使用table输出导出$content.= "<td style='vnd.ms-excel.numberformat:@'>".$_list[$key]."</td>";二、使用PHPExcel导出方法一:使用 setCellValueExplicit 方法$objPHPExcel->getActiveSheet(0)->setCellVa...原创 2018-11-30 10:34:06 · 2986 阅读 · 0 评论 -
仿tp5.0分页 实现逻辑
/*** 分页*/public function getPage(){// 查询状态为1的用户数据 并且每页显示20条数据 总记录数为$count$count = model('mi_pay/Orderex')->_where($this->g_where)->num();$length = ceil($count/20); /...原创 2018-11-27 10:52:34 · 352 阅读 · 0 评论 -
找出一个比N大且最接近的数,这个数的每位之和与N相同,用代码实现之。
/*一个K位的数N (K≤2000,N≤1020)找出一个比N大且最接近的数,这个数的每位之和与N相同,用代码实现之。例如:0050 所求书数字为0104;112 所求数为121*/function findBigNear($s){ $str = $s; // 新字符容器 $len = strlen($s); // 得到字符位数 $sum = 0; // 得到所...原创 2019-06-04 15:18:23 · 1489 阅读 · 1 评论