文档章节

一段有意思代码

macker
 macker
发布于 2016/10/28 14:30
字数 121
阅读 9
收藏 0
<?php
class Red extends CI_Controller{
    public function rand()
    {
        $money = (float)$this->input->get('money');
        $num = (int)$this->input->get('num');
        $ret = [];
        $p_money = 0;
        for ($i = $num; $i > 0; $i--) {
            $p = $this->rand_money($money - $p_money, $i);
            $ret[] = $p;
            $p_money += $p;
        }
        $ret_arr = [];
        for ($i= 0;$i<$num;$i++){
            $p = array_rand($ret);
            $ret_arr[] = $ret[$p];
            unset($ret[$p]);
        }
        $this->success_message(['money'=>$ret_arr]);
    }

    public function rand_money($money, $num)
    {
        if ($money == 0) return 0;
        if ($num == 1) return round($money, 2);
        if ($money <= $num * 0.01) {
            return 0.01;
        }
        $money *= 100;
        return round(rand(1, $money - ($num - 1)) / 100, 2);
    }
}

这是基于ci的代码

结果:

{
  "status": 1,
  "msg": "success",
  "data": {
    "money": [
      0.06,
      0.19,
      0.03,
      0.68,
      0.04
    ]
  }
}

 

© 著作权归作者所有

上一篇: 尴尬
下一篇: 人为什么旅游
macker
粉丝 7
博文 240
码字总数 36631
作品 0
朝阳
程序员
私信 提问
有意思的python渗透案例

今天在wooyun里看到一个有意思的漏洞。说它有意思,第一是思路很特别,当然也是因为安全做的很low,第二里面使用的python的poc有个小细节,特此分享一下。 网站叫Fenby网,主要是为了pythone...

老徐_kevin
2015/05/09
0
0
C#中Finally的一个不太常见的用法

最近在看.net BCL 传送门 的源码. 在 System.Collections.Concurrent.ConcurrentQueue 中看到一段有意思的代码.注意这段代码是写在ConcurrentQueue这个用于并发中的队列. 注意,这是一个无锁队...

Yunanw
2014/04/09
408
2
【转】 C#中Finally的一个不太常见的用法

原文地址:http://www.cnblogs.com/listhome/p/3664300.html 最近在看.net BCL 传送门 的源码. 在 System.Collections.Concurrent.ConcurrentQueue 中看到一段有意思的代码.注意这段代码是写在...

雲霏霏
2015/05/14
0
0
发现一个刷支付宝大额红包的逻辑漏洞!!!

前戏: >据乌云安全消息,支付宝 iOS 版惊现代码注入漏洞,复制以下一段代码并打开支付宝,余额会多出93.3元,目前新版乌云白帽子测试已提交厂商,怀疑是支付宝红包漏洞引起,但支付宝官方仍...

煮酒品茶
2018/01/02
0
0
[Code Smells]Objective-C中的代码异味(Code Smells)

Code Smells(代码异味) in Objective-C Code Smells(代码异味)。在工作中,我一直提及“代码异味”,但是到后来我才发现同事不明白我的意思。代码异味基本上就是说:假如它太臭,就改变它(...

JustBen
2013/09/05
398
0

没有更多内容

加载失败,请刷新页面

加载更多

分页查询

一、配置 /*** @author beth* @data 2019-10-14 20:01*/@Configurationpublic class MybatisPlusConfig { @Bean public PaginationInterceptor paginationInterceptor(){ ......

一个yuanbeth
昨天
5
0
在LINQPad中使用Ignite.NET

LINQPad是进行.NET开发的一款优秀工具,非常有利于Ignite.NET API的快速入门。 入门 下载LINQPad:linqpad.net/Download.aspx,注意要选择64位操作系统的AnyCPU版本; 安装Ignite.NET的NuGet...

李玉珏
昨天
7
0
JS其他类型值转化为Boolean类型规则

本文转载于:专业的前端网站➤JS其他类型值转化为Boolean类型规则 由于最近在笔试的时候,发现好多关于其他类型转化为Boolean类型的题目,因此总结一下! 一、String类型转化为Boolean 1.转化...

前端老手
昨天
7
0
EurekaClient自动装配及启动流程解析

在上篇文章中,我们简单介绍了EurekaServer自动装配及启动流程解析,本篇文章则继续研究EurekaClient的相关代码 老规矩,先看spring.factories文件,其中引入了一个配置类EurekaDiscoveryClie...

Java学习录
昨天
11
0
析构函数是否必须为虚函数?为何?

p517 在C++中,基类指针可以指向一个派生类的对象。如果基类的析构函数不是虚函数,当需要delete这个指向派生类的基类指针时,就只会调用基类的析构函数,而派生类的析构函数无法被调用。容易...

天王盖地虎626
昨天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部