php
关于php的个人笔记
鱼清.
所做的所有努力 也只是想生活过得更好.
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
PHP对接苹果支付全流程
对接苹果支付流程上相较于微信或者支付宝来说 后端做的代码是非常少的 但是需要注意的点很多对于支付 最重要的是知道这笔支付到底是不是真正意义上成交了,以及成交价格是否对应我们的商品价格 这是我们需要去判断的苹果支付对于微信支付和支付宝支付来说,有本质的区别。苹果支付的商品需要现在appstore里面去上架。所以整个支付流程如下APP内请求苹果SDK发起支付。并完成购买。支付成功之后APP端会传一段receipt_data(同时需要带上APP支付成功的交易单号)给后端去做验证。后端拿到这个数据之后,原创 2022-05-25 20:00:21 · 335 阅读 · 0 评论 -
iOS内购-防越狱刷单思路
2020年8月12日更新关于文中,苹果用户退款了也不知道是谁退的那块表述,现在来看 是有误的。实际上从今年WWDC后,苹果就增加了一个Server To Server的回调通知,当有用户退款时,会触发该通知。非续期订阅,消耗型,非消耗型均会收到退款通知。自动续期类订阅,苹果之前就会有通知。详情可参考以下官方文档:苹果退款回调2019年5月8日更新最近统计丢单率的时候,反查我们公司的订单有时候会出现后台的某个商品销量居然比iTunes后台的该商品销量还高的现象。排除时差因素和丢单自动补的流程原创 2022-05-25 19:50:34 · 441 阅读 · 0 评论 -
PHP 字符串检索出地址 省/市/区
PHP 字符串检索出地址 省/市/区$address ='福建省福州市仓山区';preg_match('/(.*?(省|自治区|北京市|天津市))/', $address, $matches);if(count($matches) > 1) { $province = $matches[count($matches) - 2]; $address = str_replace($province, '', $address);}preg_match('/(.*?(市|自治州|地区|原创 2022-05-11 09:15:19 · 237 阅读 · 0 评论 -
thinkphp order 多字段并带有条件进行排序
查询出来的数据:1.如果是置顶: 置顶倒序 后台推送倒序 时间倒序 2.如果不是置顶: 时间倒序// 查询 $list = Db::name('lxy_push_msg') ->alias('m') ->field('m.*,s.msg_id') ->join('xc_msg_status s', 'm.id = s.msg_id', 'left') -&g原创 2022-04-19 14:58:30 · 173 阅读 · 0 评论 -
ThinkPHP 批量添加数据,返回自增ID
$data = [ ['uid' => '1', 'cid' => '1'], ['uid' => '2', 'cid' => '2'], ['uid' => '3', 'cid' => '3'], ['uid' => '4', 'cid' => '4'],];$test = Db::name('test')->insertAll($data);$testres = Db::name('test')->get.原创 2022-04-14 17:24:49 · 208 阅读 · 0 评论 -
WordPress使用教程安装
一、下载WordPress 首先,访问WordPress官网的英文站点或中文站点适用于博客到大型网站的 CMS (内容管理系统) | WordPress.org China 简体中文都是可以下载的,但是考虑到大部分人的操作习惯,我们选择到中文站点下载。打开官网,点击首页右上角的“获取WordPress”后找到页面中的“下载WordPress”按钮即可下载。注意,本地环境安装不要选择“.tar.gz”。当然,如果需要下载某个特定的历史版本,也可以点击页面中的“所有发布版本”进行下载。...原创 2022-04-02 15:15:36 · 826 阅读 · 0 评论 -
ThinkPHP分页的制作案例
代码块://获取聊天记录 public function chatRecord() { $chat_id = input('chat_id');//会话表id $page = input('page');//当前页数 $limit = input('limit');//页大小 $data = Db::name('chat') ->alias('a') ->fiel原创 2022-03-30 17:15:08 · 61 阅读 · 0 评论 -
ThinkPHP循环查询
//获取会话列表 public function conversationList() { //我的未读消息 $unread = Db::name('chat_record') ->field('chat_id') ->where('user_id','=',$this->user_id) ->select(); //循环查询 ..原创 2022-03-30 15:57:01 · 72 阅读 · 0 评论 -
PHP数组 按照某个元素排序
可选。规定排列顺序。可能的值: SORT_ASC - 默认。按升序排列 (按照字段的话 A-Z)。 SORT_DESC - 按降序排列 (按照字段的话 Z-A)。 按照 flag 排序$arr[] = array('name'=>'a','flag'=>3);$arr[] = array('name'=>'b','flag'=>2);$arr[] = array('name'=>'a','flag'=>4);$flag=array()原创 2022-03-30 15:54:34 · 60 阅读 · 0 评论 -
php学习之 闭包的用法
所谓闭包,即内部函数使用了在外部定义的变量先来看下一个简单的例子,以便有个初步认识:<?php$msg = "Hello!";$fun = function () use ($msg) { //传值 echo $msg."\n";};$msg = "world!";$fun();//输出效果 Hello!<?php$msg = "Hello!";$fun = function () use (&$msg) { //传引用 echo $原创 2022-03-23 10:03:34 · 285 阅读 · 0 评论 -
php 给数组中的每个元素前面加上字符串
php 给数组中的每个元素前面加上字符串array_map() 函数:将用户自定义函数作用到数组中的每个值上,并返回用户自定义函数作用后的带有新的值的数组。$arr=[1,2,3,4];$newArr = array_map(function ($item){ return 'aaa'.$item; },$arr);...原创 2022-03-15 12:32:37 · 70 阅读 · 0 评论 -
php学习之 function的用法
用户自定义函数也称自定义函数,它们不是PHP提供的,是由程序员创建的.由于自己创建了这样的函数,所以就可以完全控制这些函数.因此可以让一个函数完全按照自己希望的方式运行.1,申明函数 在PHP中,定义函数的方法同其他编程语言几乎一样.下面是PHP申明函数的语法结构: Function function_name($argument1,$argument2,$argument3,......$argumentn) { //函数代码code Return...原创 2022-03-15 12:29:46 · 185 阅读 · 0 评论 -
mysql 8.0下的使用GROUP BY报错的解决方法
mysql的版本mysql> select version();+-----------+| version() |+-----------+| 8.0.12 |+-----------+在执行group by时遇到报错,具体如下mysql> select * from api_properties GROUP BY file_id order by file_id;1055 - Expression #1 of SELECT list is not in GROUP .原创 2022-03-12 19:03:14 · 288 阅读 · 0 评论 -
PHP获取常用时间区间
//php获取明天开始时间戳和结束时间戳 $beginTomorrow=mktime(0,0,0,date('m'),date('d')+1,date('Y')); $endTomorrow=mktime(23,59,59,date('m'),date('d')+1,date('Y')); //php获取今日开始时间戳和结束时间戳 $beginToday=mktime(0,0,0,date('m'),date('d'),da...原创 2022-03-12 15:48:14 · 59 阅读 · 0 评论 -
PHP删除数组中的一个元素
删除数组中的一个元素,但会改变表结构 $data1 = input('post.form/a');//修改的数据 unset($data1['types']);//删除数组中的一个元素,大致效果原创 2022-03-12 13:50:12 · 36 阅读 · 0 评论 -
PHP实现四种基本排序算法
前提:分别用冒泡排序法,快速排序法,选择排序法,插入排序法将下面数组中的值按照从小到大的顺序进行排序。$arr(1,43,54,62,21,66,32,78,36,76,39);1. 冒泡排序思路分析:在要排序的一组数中,对当前还未排好的序列,从前往后对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。即,每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。代码实现:$arr=array(1,43,54,62,21,66,32,78,36,76,39);原创 2022-03-12 13:07:59 · 134 阅读 · 0 评论 -
Thinkphp sql数组合并一条数据展示
示例如下:一个用户可以有多种角色,现在要把多种角色合并为一条数据展示group 方法通常用于结合合计函数,根据一个或多个列对结果集进行分组 。( sql里是 group by ,thinkphp简写成了group)group方法只有一个参数,并且只能使用字符串。group_concat:将group by产生的同一个分组中的值连接起来,返回一个字符串结果。distinct: 过滤重复的值,返回唯一的值SEPARATOR:为对遍历内容的 SQL 拼接。 //获取名.原创 2022-03-12 11:29:22 · 103 阅读 · 0 评论 -
thinkphp 把数组拆出来组成新的数组
通过foreach把数组循环出来在通过array_push进行一个插入 //做一个数组盒子 $insert_all_labels = []; //通过foreach把数组循环出来在通过array_push进行一个插入 foreach ($data1['label'] as $item) { //array_push() 函数向数组尾部插入一个或多个元素。 ...原创 2022-03-11 10:47:50 · 64 阅读 · 0 评论 -
PHP 把数据库的字符串分割成数组,然后模糊查询的案例
PHP 把数据库的字符串分割成数组,然后模糊查询的案例 //把数据库的字符串分割成数组,然后模糊查询的案例 if(input('project_undertaker_requirement')){ $yq = input('project_undertaker_requirement'); $x = explode(",",$yq);//explode() 函数使用一个字符串分割另一个字符串,并返回由字符串组成的数组。原创 2022-03-04 11:42:26 · 55 阅读 · 0 评论 -
utf8和utf8mb4的区别,utf8mb4对应的排序字符集
utf8 vs utf8mb41.utf8是针对Unicode的一种可变长度字符编码。由于对可以用ASCII表示的字符使用UNICODE并不高效,因为UNICODE比ASCII占用大一倍的空间,而对ASCII来说高字节的0对他毫无用处。为了解决这个问题,就出现了一些中间格式的字符集,他们被称为通用转换格式,即UTF(Unicode Transformation Format)。原来mysql支持的 utf8 编码最大字符长度为 3 字节,如果遇到 4 字节的宽字符就会插入异常了。三个字节的 UTF-原创 2022-03-01 10:13:05 · 124 阅读 · 0 评论 -
ThinkPHP5 查询中 直接把时间戳和时间格式相互转换
当我们在写关于时间字段的时候 数据库往往是用时间戳,但是要用到这个数据的时候 往往要输出时间格式 可以用 FROM_UNIXTIME(create_time,"%Y-%m-%d %H:%i:%s") as create_time$data = DB::name('crm_keyword') ->field('id,title,frequency,FROM_UNIXTIME(create_time,"%Y-%m-%d %H:%i:%s") as create_time') ..原创 2022-02-26 11:56:45 · 138 阅读 · 0 评论
分享