php 百分比机会

2023-12-07

这实际上更多的是一个方法问题,但我用 php 来呈现它。

假设我们有一个包含给定事件在迭代中发生的四个百分比的列表。

array=('walk the dog'=>.25,'read the paper'=>.25,'drink coffee'=>.0,'listen to music'=>.50)

(键只是测试 - 实际上,这将在策略模式中使用,该策略模式将不同的方法应用于偶然使用的对象call_user_func())

在一个循环中,通过随机调整的选择来选择这些事件之一的最佳方式是什么,考虑到它们各自的权重(IE,对于这个特定的配置,将会听到很多音乐而不是很多咖啡喝了)

目前我有类似的东西:

for($i=1;$i<=3;$i++){
  $rand = 1/rand(1,10);
  //choose from the list
}

但这需要将百分比映射到值范围(50-100% 为听音乐,0-25% 为遛狗,25-50 为阅读论文),因为该迭代的“值”是作为浮点数计算的0 到 1 之间。这改变了需要记录百分比的方式。

是否有任何一种方法可以将值的身份保留为应选择的真实概率而不是范围?这肯定会使代码更加可配置,因为我必须使这些值可调。如果我说得太含糊,请告诉我。


我会做类似的事情:

$arr = array (
    'walk the dog'    =>  array('min' =>  0, 'max' =>  25),
    'read the paper'  =>  array('min' => 25, 'max' =>  50),
    'drink coffee'    =>  array('min' =>  0, 'max' =>   0),
    'listen to music' =>  array('min' => 50, 'max' => 100),
);

$rnd = rand(1,100);
foreach($arr as $k =>$v) {
    if ($rnd > $v['min'] && $rnd <= $v['max']) {
        echo $k,"\n";
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

php 百分比机会 的相关文章

  • 重定向后丢失会话变量

    用户填写用户名和密码 如果正确 页面会加载一些信息 例如user id到会话变量 该脚本制作了一个header Location 重定向 不知何故 下一页无法识别会话 怎么会 重定向到同一个域 并且所有页面都有session start 我
  • 用于分页的php示例脚本[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 任何人都可以建议一个好的分页 php 脚本 其中人们想要分页显示数据库中的大量项目 以下链接可以帮助您
  • 在php中获取二进制数据大小的正确方法是什么?

    我已阅读文件的一部分 现在想确保该部分的大小正确 我怎样才能在 php 中做到这一点 part fread file 1024 return some function part 1024 我已经阅读了这些示例 但我怀疑是否要使用 strl
  • 在 symfony2 中为特定控制器设置 max_execution_time

    Using ini set 我可以扩展最大执行时间一个脚本的 在Symfony2 我可以添加ini set to web app php and web app dev php将增加的执行时间应用于所有控制器 但在这种情况下 我只想扩展最大
  • 如何从 Laravel 5 中的 Public/Images 文件夹中删除图像(URL 数据)

    如何从 laravel 5 中的 public images 文件夹中删除图像文件 我从这个网站找到了一些例子 但我知道他们只是在他们的文件中使用文件名record table 但我正在使用类似的东西URL e g localhost pr
  • xdebug_start_trace 行为异常

    我正在尝试进一步减少脚本内存使用量 我试图让我的脚本使用 xdebug 生成输出来分析内存使用情况 这是一个基于 CLI 的脚本 有 shebang usr local bin php q 我向它传递一个参数并检查它 argc gt 1 i
  • 如何在 PHP 中正确分割路径

    执行以下操作的最佳方法是什么 我通过 AJAX 请求获取路径 e g dir1 dir2 dir3 dir4 我需要在我的网页上这样展示它 dir1 gt gt dir2 gt gt dir3 gt gt dir4 它们每个都是 html
  • Laravel 5 与 SAML 2 和现有 IDP 集成

    我使用 Laravel 5 我正在尝试将 SAML 2 0 与其集成 我找到了这个包 https github com aacotroneo laravel saml2 https github com aacotroneo laravel
  • 如何在javascript中使用自动递增id?

  • 从提交的表单中转义字符串中的字符

    每次发布帖子时 我都会得到转义字符 gt gt gt 我有一个多步骤表单 它将数据从一种表单传输到另一种表单 我将这些值与准备好的语句一起保存在数据库中 数据库中的值当前看起来像Paul s House 用户应该可以在字符串中使用单引号和双
  • 如何在 joomla 模块中通过 javascript 发送输入文件类型

    我想将带有 javascript 的文件发送到 php 文件 我的 php 文件中有这个表单
  • 如何创建环境变量来保护我的网站的 Google 地图 API 密钥(或任何其他秘密值)?

    我正在学习使用 Bootstrap 编写自己的网站 并使用 Google 地图 API 密钥和 Google Developers 的脚本轻松地将地图放置在我的页面上 理想情况下 我会有类似的东西 即我已经尝试过这个 Html PHP
  • 避免 SQLite3 中的 SQL 注入

    我正在尝试找出一种避免 SQL 注入的好简单方法 到目前为止我只能提出两个想法 对用户输入进行 Base64 编码 其实不想这样做 使用正则表达式删除不需要的字符 目前正在使用这个 不确定是否100 安全 这是我当前的代码
  • 无需下载整个文件即可读取 ID3 标签

    是否可以读取 MP3 文件的 ID3 标签 持续时间 艺术家 标题 而无需下载整个文件 我做了一些测试 只需下载 MP3 文件的几个字节就可以获得艺术家和标题标签 但我不确定持续时间和其他标签是否可能 Thanks 我刚刚发现 ffmpeg
  • 如何使用 PDO 动态构建查询

    我正在使用 PDO 并想做这样的事情 query dbh gt prepare SELECT FROM table WHERE column value query gt bindParam table tableName query gt
  • WordPress 事件按元生效日期排序

    我在获取参数数组以按 Wordpress 中的日期对事件列表进行排序时遇到一些问题 我在 Stack Overflow 和其他地方找到了几个建议的解决方案 但经过大量的试验和错误后 这些解决方案似乎都不起作用 这没什么花哨的 而且应该比这容
  • NodeJS 和 PHP (Laravel) 集成用于 Socket.IO 实时聊天

    目前我有一个我写过的网站PHP通过Laravel 框架 我已经使用写了一个实时聊天nodeJS with 套接字IO and Express现在我想做的是将它集成到我已经编写的 Laravel 网站中 问题是聊天必须在主页中 当前由 Lar
  • PHP - 查找和比较日期

    你好 我有 foreach 我可以在其中获取数据库中的事件数据 我使用数据库中的日期名称 例如 event date 我需要在一个 div 中比较具有相同日期和输出的操作 例如我有这个事件 活动一 9 月 13 日 活动二 9 月 1 日
  • 处理查询字符串参数时 Codeigniter 缓存问题

    问候 我正在编写一个 CI Web 应用程序 它实现标准文件缓存功能 如下所示 this gt output gt cache n 我使用了段和查询字符串参数的组合 因此似乎遇到了问题 我在用例和输出类代码中看到的是 缓存仅基于段 像这样
  • PHP 中的 Zip 流

    我有一个 PHP 脚本 可以动态创建 zip 文件并强制浏览器下载该 zip 文件 问题是 我可以直接将zip文件写入连接到用户浏览器的输出流 而不是先将其保存为服务器上的真实文件 然后发送文件吗 提前致谢 如果您的 Web 服务器运行的是

随机推荐

  • 在Python中定义名称

    我很困惑为什么我的程序不起作用 我应该使用嵌套的 if 来询问人们的姓名和头衔 医生 女性 男性 然后打印出女士姓名 先生姓名或医生姓名 如果有人知道我遇到的问题 请回复 name input Enter your name title i
  • 从不寻常的 svn 目录结构迁移到 maven?

    与 正常 svn 目录结构相反 我使用以下结构 trunk project1 project2 project3 branches project1 branch project1 project2 project2 branch proj
  • DatePicker 无法在 ajax 加载的页面中工作

    我将日期选择器附加到全局脚本文件中的输入 如下所示 document on focusin datePick function this datepicker dateFormat dd mm yy changeMonth true cha
  • 查询网格内的点 Maya python api

    我试图找出一种计算世界空间点是否位于任意网格内部的方法 如果它不是立方体或球体 我不太确定如何计算它的数学 任何帮助都会很棒 人们可以使用一种简单的光线追踪技巧来测试您是在形状的内部还是外部 事实证明 2D 3D 对象甚至可能更高维度的对象
  • 表 [表名] 未锁定

    我正在编写一个锁定表的 MySQL 查询 LOCK TABLE table 1 WRITE 之后 我正在执行一些函数 并且在其中一个函数中 我正在另一个未锁定的表上执行另一个查询 SELECT FROM completely differe
  • 可以将其作为 SQL Server 作业吗?

    我有一个文件夹 其中包含用于使用徽章的图像 我有另一个文件夹 其中包含图像的重命名版本 该文件夹位于另一台计算机上 我需要创建一个过程来复制和重命名找到的任何新图像 名称之间的映射位于 SQL Server DB 中 将其创建为 SQL S
  • 使用 CMake 检测 Qt5

    我正在尝试在 Ubuntu 上安装和使用 Qt 5 为我的需要 Qt 5 的项目运行 CMake 会导致 The C compiler identification is GNU 4 8 4 The CXX compiler identif
  • 确保 epmd 已启动

    我有一个 eunit 测试 它生成唯一的节点名称并开始分发 A B C now Nodename list to atom lists flatten io lib format test b b b localhost A B C ok
  • 在 Macos 上安装 xampp 的 mongodb 扩展

    我找了一晚上 也没找到解决办法 我尝试通过运行来安装 mongodb 扩展sudo Applications XAMPP xamppfiles bin pecl install mongodb但最后我得到这个错误 fatal error u
  • 选择表数据到数组 - 仅获取一行

    我正在尝试从表中获取数据EmailList并将其放入一个数组中 该数组将被传递到 Outlook 电子邮件的 收件人 字段 电子邮件的脚本已创建 我计划使用Join 函数将数组组合成字符串 如下所示 Join varEmailList My
  • 如何修复 Python 中的 unicode/cPickle 错误?

    ids cPickle loads gem value loads argument 1 must be string not unicode cPickle loads想要一个字节字符串 这正是cPickle dumps输出 然后你给它提
  • MongoDB:如何查询 json 字符串?

    有一个 MongoDB 集合 其中填充了如下文档 id ObjectId 5b7f83b591fae49715443590 content n t email email protected n t country code US n 如你
  • SOLR 在第一个方面查询时很慢,但在以后的查询中相当快

    我试图找出为什么我的 SOLR 4 1 实例对于方面查询非常慢 索引大约有200M文档 服务器有64GB RAM 我的查询如下所示 q CampaignId 1462 0ASourceDateUtc 2014 01 01T00 00 00
  • Backbone collection.create() 不返回更新后的模型

    为了学习骨干 我创建了一个类似 Twitter 的应用程序 所以你知道 Twitter 每隔 N 秒向服务器发送一个 GET 请求来检查新推文 如果有新的推文 它会创建隐藏的推文li元素并显示带有 N 个新推文 的按钮 如果你点击它 它会显
  • AngularJS:使用具有多个模型的设备

    我有一个 Rails 应用程序 使用具有 2 个不同模型的设计 对应于截然不同的角色 没有 STI 完全不同的模型 我计划转向 AngularJS 前端 想知道构建应用程序的最佳方式是什么 以下是我的初步想法 每个用户模型都有不同的基本登录
  • 在c#中将两个具有不同元素的列表合并为一个具有所有元素和相同索引的列表

    我有两个不同的列表geocode1 and geocode2均为 5 行记录 geocode1有 4 列 即地址 城市 邮政编码和街道 geocode2有 4 列 即纬度 经度 状态和县 使用 addrange 合并它们 如下所示 geoc
  • 在 tcsh 中生成序列号列表

    我一直在尝试找到一种解决方法来在 tcsh 中广泛定义序列号列表 即 而不是做 i 1 2 3 4 5 6 8 9 10 我想做这样的事情 知道它不起作用 i 1 10 这在 foreach 循环中特别有用 我知道我可以使用 while 只
  • RequireJS 如何处理多个页面和部分视图?

    我正在调查要求JS但我对有些事情不确定 我了解如何加载所有依赖项main js 但是我是否需要添加任何逻辑来处理这些依赖项main js To me main js看起来像一个 document ready 状态 当文档加载时你就在那里输入
  • 递归遍历 JSON 文件,提取选定的字符串

    我需要递归地遍历 JSON 文件 从 API 发布响应 提取以 text 作为键的字符串 text this is a string 我需要开始从元数据中具有最旧日期的源进行解析 从该源中提取字符串 然后移至第二个最旧的源 依此类推 JSO
  • php 百分比机会

    这实际上更多的是一个方法问题 但我用 php 来呈现它 假设我们有一个包含给定事件在迭代中发生的四个百分比的列表 array walk the dog gt 25 read the paper gt 25 drink coffee gt 0