
PHP学习笔记
AdaC772
天道酬勤
展开
-
按比例分配问题
/* * 按比例分配问题 * 存在N个仓库存放有物品A共计S件,现要求各仓库按库存比例拿出M(M<=S)件物品A,求仓库各余多少件物品A * 设第n个仓库物品A的库存为Nn * 各仓库需捐出物品A的件数Pn:round(Nn/S * M) * 若 M > (P1 + P2 + ... + Pn), 则保证扣减后 Nn >= 0 的前提下,P1++,P2++...直到M...原创 2020-05-01 16:29:00 · 1471 阅读 · 0 评论 -
php安装pthreads多线程扩展
windows环境下安装pthreads扩展参考http://docs.php.net/manual/zh/pthreads.installation.php基本能成功。我使用的是xampp集成开发环境,安装扩展之前看一下phpinfo的信息我当前的php版本是5.5.38,且为线程安全,编译器版本为vc11。下载pthreads扩展包:http://windows.php.net原创 2016-12-28 15:20:18 · 3972 阅读 · 0 评论 -
mysql 中的enum枚举类型
感觉最近被enum坑惨了,原以为绝对没有问题的sql神奇的错了,数据离谱到我都不信,php开发使用enum类型绝对不是一个省事的选择,把enum的value定义为数字(0,1,2)之类的更是坑爹。以下内容转载于:http://www.cnblogs.com/skillCoding/archive/2012/03/14/2395404.html,感谢原作者。ENUM 是一个字符串转载 2017-05-04 10:13:31 · 23413 阅读 · 0 评论 -
支付--微信公众号
公众号支付的接口文档:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_1先写好必要的方法: const API_UNIFIED_ORDER = "https://api.mch.weixin.qq.com/pay/unifiedorder"; const API_ORDER_QUERY = "http原创 2017-05-05 15:07:20 · 647 阅读 · 0 评论 -
支付--微信APP
微信APP支付同公众号支付调用的接口一样,部分参数不一样,需要特别注意。相关签名算法实现、随机数生成、数组XML转换、curl发送post请求可参看上一篇博客《支付-微信公众号》。统一下单接口: public function prePay($body,$userIp,$orderNo, $price){ $postData = [原创 2017-05-08 11:16:43 · 488 阅读 · 9 评论 -
支付-支付宝APP支付
沙箱环境太坑爹,没跑起来,直接上线测了。集成支付宝提供的SDK,参照开发文档,基本上没什么问题1、生成支付请求参数,用于调起支付宝APP public function toPay($body,$title,$out_trade_no, $price){ $aop = new AopClient; $aop->gatewayUrl ...原创 2017-05-16 18:17:59 · 2320 阅读 · 7 评论 -
周 月 日 互转
1、周转日,全年第n周的起止日 public function dayFromWeek($week,$year=0){ $year = empty($year)?date('Y'):$year; $year_start = mktime(0,0,0,1,1,$year); // 判断第一天是否为第一周的开始 if (1 == date('W',$year_...原创 2017-05-16 18:32:02 · 465 阅读 · 0 评论 -
PHP二维数组按列排序
目标:把二维数组$arr = [ [1,1,4,3,5], [3,3,2,1,2], [1,1,2,4,2], [1,2,1,1,1], [3,3,2,1,5],];按每一列正序排列。期望结果:[ [1,1,2,4,2], [1,1,4,3,5], [1,2,1,1,1], [3,3,2,1,2], ...原创 2019-02-18 18:16:59 · 257 阅读 · 0 评论 -
【苹果内购】PHP支付结果验证
开发前推荐仔细看一下官方文档:https://developer.apple.com/documentation/storekit/in-app_purchasehttps://developer.apple.com/library/archive/releasenotes/General/ValidateAppStoreReceipt/Chapters/ValidateRemotely....原创 2019-08-21 13:10:46 · 356 阅读 · 0 评论 -
PHP获取前N个月的日期(按自然月)
用PHP的date函数获取上一个月的日期时,会存在下面的问题:$d = date('Y-m-d',strtotime(" -1 month", strtotime("2019-03-31")));print_r($d);// 输出2019-03-03如果我们想要按自然月来,希望结果是2019-02-28那怎么办呢?代码如下:function lastMonth($nowT,$...原创 2019-02-20 18:12:23 · 3030 阅读 · 0 评论 -
阿里云移动推送 IOS & Android
开发前先看一下阿里云移动推送的接口文档:https://help.aliyun.com/document_detail/48038.html?spm=a2c4g.11186631.6.595.6ae0418deQFotypublic function pushToIOS($title,$body,$pushTime,$target,$deviceValue){ $accessKey...原创 2019-08-30 15:19:43 · 1014 阅读 · 0 评论 -
京东联盟CPS API调用:我不想吐槽京东的接口。。。。
在调用接口之前,先要取得授权,这个看看接口文档就可以了。地址如下:https://jos.jd.com/doc/channel.htm?id=152在京东云控制台:https://dev.jd.com/toList.action“新建应用”获得 调用接口的通用参数(App key/client_id、App secret/client_secret、access_token)。原创 2016-12-22 18:04:00 · 26054 阅读 · 9 评论 -
微信 JSSDK 调用
页面js如下: <script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script><script> /* * 注意: * 1. 所有的JS接口只能在公众号绑定的域名下调用,公众号开发者需要先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”...原创 2016-12-12 14:56:16 · 1155 阅读 · 0 评论 -
PHP实现快排
代码:define('N', 10000);function quickSort(&$arr){ if(count($arr)>1){ $k=$arr[0]; $x=array(); $y=array(); $_size=count($arr); for($i=1;$i原创 2015-11-05 16:35:25 · 769 阅读 · 0 评论 -
引用传递与值传递
看代码:define("N", 10000);define("n", 10000);ini_set('memory_limit', '1G');function microtime_float(){ list($usec, $sec) = explode(" ", microtime()); return ((float)$usec + (float原创 2015-11-06 14:53:13 · 336 阅读 · 0 评论 -
PHP数组之array_values
array_values() 函数返回一个包含给定数组中所有键值的数组,但不保留键名。现有文件this.txt,内容如下:{"this":[{"name":"a","url":"aa"},{"name":"b","url":"bb"},{"name":"c","url":"cc"}]}代码:$lu='this.txt';$js= file_get_con原创 2015-10-30 11:20:48 · 597 阅读 · 0 评论 -
PHP浮点数比较大小
PHP 比较运算符用于比较两个值(数字或字符串)==等于$x == $y如果 $x 等于 $y,则返回 true。===全等(完全相同)$x === $y如果 $x 等于 $y,且它们类型相同,则返回 true。$a = 0.58 * 100;$b = 58;var_dump($a);// 输出 flo原创 2015-10-30 11:37:41 · 8993 阅读 · 0 评论 -
PHP &&与运算符 相当于if条件
代码:$a = $b = 0;$a != 0 && $b = 1;print_r($b); // 0$a = $b = 0;$a != 1 && $b = 1;print_r($b); // 1?>如果第一个条件为true,则继续检查第二个条件;如果第一个条件为false,则不再检查下一个条件。原创 2015-10-30 11:45:45 · 725 阅读 · 0 评论 -
yii2邮件配置
main.php(或main-local.php)中的邮件配置如下: 'mailer' => [ 'class' => 'yii\swiftmailer\Mailer', 'viewPath' => '@common/mail', // send all mails to a file by default. You have to set ...原创 2016-06-29 11:05:46 · 2776 阅读 · 1 评论 -
阿里云CDN API调用
官方接口文档:https://help.aliyun.com/document_detail/27149.html?spm=5176.doc27148.6.147.xqxQBK请求参数设置: function setParameter($specialParameter){ $time = date('Y-m-d H:i:s', time()-60*60); $var =...原创 2016-06-29 12:43:56 · 5844 阅读 · 6 评论 -
php curl
转载:http://www.phpchina.com/article-40161-1.html,作者撩得不错,记录一下。//通过curl进行GET请求的案例 // create curl resource $ch = curl_init(); // set url curl_setopt($ch, CURLOPT_URL, "https://githu转载 2016-08-10 10:53:06 · 299 阅读 · 0 评论 -
PHP判断变量为空
PHP判断变量为空1、isset 功能:判断变量是否被初始化2、empty 功能:检测变量是否为”空”3、var == null 功能:判断变量是否为”空”4、var === null 功能:检测变量是否为”null”,同时变量的类型也必须是”null”5、is_null 功能:检测变量是否为”null”测试结果: 值 isset empty == null === null原创 2016-08-15 13:55:45 · 425 阅读 · 0 评论 -
Yii2 开启事务 批量插入
$trans = Yii::$app->db->beginTransaction();$m = new User();try{ foreach($list as $attributes){ $m->isNewRecord = true; $m->setAttributes($attributes); if(!...原创 2016-12-02 17:23:39 · 3488 阅读 · 0 评论 -
神奇的serialize和unserialize
string serialize (mixed$value ) : 产生一个可存储的值的表示 。serialize() 返回字符串,此字符串包含了表示value 的字节流,可以存储于任何地方。 这有利于存储或传递 PHP 的值,同时不丢失其类型和结构。 想要将已序列化的字符串变回 PHP 的值,可使用 unserialize()。serialize() 可处理除了res原创 2015-11-05 15:48:27 · 471 阅读 · 0 评论