/**
模拟秒杀活动-- 商品100件
CREATE TABLE a
(id int comment '模拟100件活动商品的数量'
);
INSERT INTO a VALUES(100);
模仿:以10的并发量访问这个脚本! 使用apache自带的ab.exe软件
*/
error_reporting(0);
mysql_connect('localhost','root','admin123');
mysql_select_db('test');
# php中的文件锁
$fp = fopen('./a.lock', 'r'); // php的文件锁和表没关系,随便一个文件即可
flock($fp, LOCK_EX);// 排他锁 $rs = mysql_query('SELECT id FROM a');
$id = mysql_result($rs, 0, 0);
if($id > 0)
{
--$id;
mysql_query('UPDATE a SET id='.$id);
}
# php的文件锁,释放锁
flock($fp, LOCK_UN);
fclose($fp);
- 备注说明
-
PHP
- 基本语法
- 函数
-
所有内置函数(待完善/练习)
-
Array 数组
-
对比
- 待补充array_intersect_uassoc
- 待补充array_intersect_ukey
- array_uintersect_assoc
- array_uintersect_uassoc
- 待补充array_intersect_key
- 待补充array_intersect_assoc
- array_intersect
- 待补充array_diff_ukey
- 待补充array_diff_uassoc
- 待补充array_diff_key
- array_diff_assoc
- array_diff
- array_udiff
- array_udiff_assoc
- array_uintersect
- array_udiff_uassoc
- 去重 array_flip和array_unique区别
- 运算
- 排序
- 替换
- array_values
- array_map/array_filter/array_walk和foreach
- *array_reduce
- *array_map
- array_walk_recursive
- *array_walk
- *array_filter
- array_change_key_case
- array_chunk
- array_column
- array_combine
- array_count_values
- array_fill
- array_fill_keys
- array_key_exists
- array_keys
- array_merge
- array_merge_recursive
- array_merge,array_recursive区别
- array_pad
- array_pop
- array_pash
- array_rand
- array_reverse
- array_search
- array_shift
- array_unshift
- 待补充array_splice
- 待补充compact
- count/sizeof
- current/pos
- list
- each
- end
- extract
- in_array
- next
- prev
- range
- reset
- shuffle(数组随机重新排序)
-
对比
-
String 字符串
- 输出
- 转义/反转
- 加密
- 比对
- 字符截取/分割/打散
- 搜索
- 字符替换
- bin2hex
- hex2bin
- pack
- chr
- chop
- 待验证count_chars
- 待补get_html_translation_table
- 待补html_entity_decode
- implode/join
- lcfirst/ucfirst/ucwords/strtolower/strtoupper
- ltrim/rtrim/trim
- _money_format
- number_format
- sscanf
- str_getcsv
- str_pad
- str_repeat
- str_rot13
- str_shuffle
- str_word_count
- ===strcmp
- ===strcspn
- strip_tags
- strlen/mb_strlen
- strrev
- substr_count
- _wordwrap
- Calendar 日历
- cURL
- Date/Time 时间
- Directory 目录
- Error&Logging
- Filesystem 文件
- Filter 过滤
- FTP
- http
- Math 数学
- 其它
- PDO
- ZIP
- GD 图像
- PCRE 正则表达式
-
Array 数组
- 时间
- cookie&session
- 类(待补充)
- 命名空间(待补充)
- errors(待补充)
- 函数参考(待补充)
- 表达式&运算符
- 对象
- 字符串Heredoc&Nowdoc
- 生成器
- Iterator(迭代器)(待补充)
- 安全
- 交互
- PHP扩展库列表/归类.
- OOP 变更日志
- mysql
- 框架
- 待补充PHP5和PHP7区别及特性
- Composer
- 了解,熟悉
- swoole
- psr代码规范
-
开发笔记
- 保存远程图片
- php 判断http还是https,以及获得当前url的方法
- php 奇葩问题 ob_clean() MARK一下(输出的JSON数据前面有个小红点)
- PHP开发过程,常见问题和解决方法
- CTRL+ENTER提交数据
- PHP打印常量
- php结合redis实现高并发下的抢购、秒杀功能
- php系统类函数
- php高并发秒杀解决方案 {思路}
- PHP解决网站大数据大流量与高并发
- websocket demo
- websocket心跳重连
- workerman启动失败解决方法
- PHP两个函数参考 call_user_method call_user_function
- thinkphp 图形验证码 小程序中使用,总是验证失败(sessionid设置)
- oss 数据迁移(DISCUZ OSS图片处理)
- 解决VUE请求PHP后台,跨域的问题
- 常用的PHP方法整理(持续更新)
- (秒杀应用)PHP 文件锁
- 查看PHP扩展所带来的相关函数 以scws为例
- php.ini注释
- php跨域
- echo 用法
- 53个要点提高PHP编程效率
- str_replace 该函数返回一个字符串或者数组
- mysql dump
- call_user_func_array 用法
- PHP 返出日期时间类型带毫秒
- php相关转义的函数
- 处理时间的相关方法 日期内容带豪秒和当前毫秒时间戳
- JAVA BASE64(HMacSHA256(key, StringToSign)) php 对接处理
- 解决SSL connect error及CURLOPT_SSLVERSION 的问题
- PHP 对接华为云透传消息DEMO
- 过滤enmoji表情
- PHP 大数据导出
- PHP 微服务
- phpRaghtWay
- emoji表情处理
- php+redis 限流
- PHP WINDOS 工具
- composer 加载本地包
本文档由 Jerry.Chen 维护更新