本实例演示如何通过点击列表头来排序数据网格(DataGrid)。
2024年07月30日
需要您的鼓励!
【欢迎关注、分享、点赞或评论,您的一个举手之劳,就是最大的鼓励!】
前言:
上一节我们聊了php的数据类型,主要是整型、浮点型、布尔型,字符串型和NULL这五种类型,其他类型暂时不聊天。
2024年07月30日
/** * 添加锁 * @param unknown $key_name 键的名称 * @param unknown $uniqid 唯一值 * @param unknown $key_expire 键的过期时间 * @return int 0失败,1成功 */ static function lock($key_name, $uniqid, $key_expire) { $lua_script = <<<EOF local flag = redis.call("setnx", KEYS[1], ARGV[1]) if tonumber(flag) > 0 then redis.call('expire', KEYS[1], ARGV[2]) return redis.call('get', KEYS[1]) else return 0 end EOF; $redis = MyRedisService::getInstance(); return $redis->eval($lua_script, 1, $key_name, $uniqid, $key_expire); } /** * 释放锁 * @param unknown $key_name 键名称 * @param unknown $key_val 键值校验 * @return int 0失败,1成功 */ static function unlock($key_name, $key_val) { $lua_script = <<<EOF local lockKey = redis.call('get', KEYS[1]) local lk = ARGV[1] if lockKey == lk then return redis.call('del', KEYS[1]) else return 0 end EOF; $redis = MyRedisService::getInstance(); return $redis->eval($lua_script, 1, $key_name, $key_val); } public function index() { //键名 $key_name = 'index'; //key过期时间 $key_expire = 1; //键的唯一标识 $uniqid = uniqid(null, true).microtime(); //加锁 $key_val = self::lock($key_name, $uniqid, $key_expire); //加锁成功,开始执行以下代码 if($key_val > 0) { try { $redis = MyRedisService::getInstance(); //从数据库或者redis中得到库存 $store_nums = $redis->get("store_nums"); if($store_nums > 0) { $redis->decrby("store_nums", 1); echo "去库存成功,剩余:".$redis->get('store_nums')."<br>"; } else { echo "库存不足<br>"; } } catch (\Exception $e) { //如果代码抛出异常,则直接删除key $redis->del($key_name); } } //释放锁 $res = self::unlock($key_name, $key_val); //如果释放锁失败,则直接手动删除key if(intval($res) === 0) { $redis->del($key_name); } }
2024年07月30日
用tcexam给用户做了一个在线考试平台,结果客户要求统计网站访问量,使用下面的方法简单实现了这个功能。
1.创建counter.dat文件,内容写为0。
2.创建tongji.php文件,内容如下:
<?php
error_reporting(E_ALL);
2024年07月30日
动态加载树形网格有助于从服务器上加载部分的行数据,避免加载大型数据的长时间等待。本教程将向您展示如何创建带有动态加载特性的树形网格(TreeGrid)。
2024年07月30日
本文作者:Maxiye
本文链接:https://segmentfault.com/a/1190000038529554
2024年07月30日
function currencyToChinese($data)
{
$data = str_replace(',', '', $data);
if #($data == '') {
return '';
2024年07月30日
PHP如何生成二维码图片
在我们开发过程中,往往我们会遇到将某个商品或者将某个活动生成一个二维码,当用户扫描二维码时候,用户可以直接跳转到商品详细页面或者活动详情页面。那我们如何生成一个二维码图片呢,来,看这里哦!!!
1.封装
2024年07月30日
上期我们测试了Java和PHP在生成md5密码方面的速度,在相同的机器上,Spring Boot(在OpenJDK 18.9环境下)成绩约为19毫秒,JSP在tomcat(OpenJDK 1.8)环境下,也能够达到13毫秒左右,可以看出,并没有因为JDK升级和编译封装提升太多速度,我们将PHP版本由默认的5.2升级到了8.1以后,PHP可以在8毫秒内完成,比5.2缩短了6毫秒,着实有些意外,PHP在那次测试中完胜Java。