我正在写一个项目的自动竞标脚本。我想最简单的方式来描述我要做的就是给你一个场景。假设增量为1000美元:Asking Price: $1,000

Bidder 1: Max Bid of $4,000 -> High Bid: $1,000

Bidder 2: Max Bid of $3,000 -> High Bid: $3,000 -> [AUTO BIDDER 1] High Bid: $4,000

Bidder 3: Max Bid of $8,000 -> High Bid: $5,000

Bidder 4: Max Bid of $10,000 -> [AUTO BIDDER 3] High Bid: $8,000 -> High Bid: $9,000

我正试着想出一个循环来通过它们,但我不太确定如何通过。我有一个循环,我想出的,将为每个出价,但我想跳过使每1000美元的增量,而不是跳出最高出价的基础上最大出价。

我有两个表设置:bids和maxbids。这就是我想到的循环:

插入新投标

开始循环

$high=从bids表中获取当前最高出价

$next=从maxbids中获取maxbid>$high的最低maxbid

如果($next>=($high+增量)

插入投标书

否则//

断开回路

结束循环

这是可行的,但正如我所说,这将继续插入所有1000美元的增量。我希望它能像我上面展示的那样工作。有什么建议吗?

最佳答案

我认为你可以使用条件树,而不是循环

这是一个有趣的问题,从我如何理解它这个函数将触发每当一个新的出价。你想做的应该是:

存储用户试图插入的出价。

获取当前出价者的高出价(不应该有比这更高的出价,因为它们将通过此函数的先前迭代得到解决)。

下一步:/**

* $currentBidder = The current high bidder

* $highBid = The current high bidder's high bid

* $thisBidder = Bidder placing the new bid

* $thisBid = The bid that triggered the function

* $increment = The minimum bid increment

*/

function placeBid($currentBidder,$highBid,$thisBidder,$thisBid,$increment) {

if($thisBid > $highBid) {

// Insert $highBid as current bid, for $currentBidder

if($thisBid > $highBid + $increment) {

// Insert $thisBid into highbids table

// Insert $highBid + $increment as current bid, for $thisBidder

} else {

// Insert $thisBid as current bid, for $thisBidder

}

} else {

// Insert $thisBid as current bid for $thisBidder

if($highBid > $thisBid + $increment) {

// Insert $thisBid + $increment as current bid, for $currentBidder

} else {

// Insert $thisBid as current bid, for $currentBidder

}

}

}

笔记:

如果新的出价等于最高出价,我宁愿代表当前的投标人而不是新的投标人。

在所有情况下,我都倾向于最高出价,即使这不会高于当前的最高出价+增量。

显然,你必须检查它是否是第一个出价,如果是,设置出价为最低要价。您必须检查出价是否有效(大于当前出价+增量)。我还没有把代码包括进去。

据我所见,如果每次出价都触发函数,就根本不需要循环,只需要一个条件树。

脚本:

Item Current Bids: A, 4000

Item Current Max: A, 4000

--> C bids 7500

Item Current Bids: A, 4000; C, 5000

Item Current Max: C, 7500

--> B bids 7500

Item Current Bids: A, 4000; C, 5000; B, 7500; C, 7500

Item Current Max: C, 7500

--> A bids 9000

Item Current Bids: A, 4000; C, 5000; B, 7000; C, 7500; A, 8500

Item Current Max: A, 9000

php机器代出价,php - PHP/MySQL自动出价系统相关推荐

  1. mysql 自动更新时间_如何设置mysql自动更新创建时间和更新时间

    做项目时,希望: 新增记录时,mysql自动将系统的当前时间set到创建时间和更新时间这两个字段中. 更新记录时,mysql只update更新时间字段的时间. 设置mysql自动更新创建时间和更新时间 ...

  2. python 淘宝客服 机器人_Python实现资源代下|实现机器值守|全自动淘宝自动发货机器人...

    原标题:Python实现资源代下|实现机器值守|全自动淘宝自动发货机器人 发货机器人 帮你实现:淘宝虚拟商品的自动值守.自动资源下载.自动Email发货 1.运作流程 Trip: 使用小附件方式发送邮 ...

  3. php机器代出价,直通车转化出价工具将升级为:智能出价!

    为了能够更好的帮助中小商家解决流量冷启动.及货品成长上的流量难题,大商家在不同营销节点/活动期间更丰富.更多样化的营销诉求,转化出价工具即将商家们在更多营销场景中可以根据不同目标下的自动化出价能力,对 ...

  4. Mysql自动备份脚本

    1.Mysql自动备份脚本 #!/bin/sh # 数据库基本信息 #数据库名称 DB_NAME="test" #用户名 DB_USER="root" #密码 ...

  5. mysql 自动补齐 表名,列名 方法, 重启mysql方法

    1.mysql自动补齐方法 方法一.修改my.cnf vi /etc/my.cnf [mysql] auto-rehash         #添加auto-rehash 注:修改 #no-auto-r ...

  6. php和mysql不在一台机器上_MySQL_在同一台机器上运行多个 MySQL 服务,**************************************** - phpStudy...

    在同一台机器上运行多个 MySQL 服务 ********************************************************** 第一部分, 在一台服务器构建多mysql ...

  7. 在同一台机运行多个mysql 服务 多个主/从在同一主机_在同一台机器上运行多个 MySQL 服务...

    在同一台机器上运行多个 MySQL 服务 ********************************************************** 第一部分, 在一台服务器构建多mysql ...

  8. mysql自动增长恢复_mysql自动增长的有关问题,怎么恢复从1开始

    mysql自动增长的问题,如何恢复从1开始 在一个表中我设置到autoid为自动增长列 例如有如下数据 1 张三 男 20 2 王五 男 22 3 李四 男 25 4 陈大 男 19 现在我把 aut ...

  9. mysql定时备份并上传ftp_Linux下定时任务实现mysql自动备份并上传远程ftp

    Linux下定时任务实现mysql自动备份并上传远程ftp 1.创建保存备份文件的目录:/home/mysql_data cd /home mkdir mysql_data 2.创建备份脚本文件:/h ...

最新文章

  1. 【PAT甲级 替换指定字符】1035 Password (20 分) Java版 4/4通过
  2. Python列表以及列表的处理方法
  3. SpringBoot + ShardingSphere 秒级分库分表!
  4. Android 自动动画布局更新 使用,在RecyclerView上使用布局动画(Layout animation)
  5. SpringCloud中 Feign结合Hystrix断路器开发。
  6. 模型类中的常用字段类型
  7. 中国1-4级行政区划分数据表(从国家统计局获得) MySQL
  8. 主控芯片成功案例:搭载北京君正X1000芯片,收款计算合二为一
  9. 成功三大定律:荷花定律、金蝉定律、竹子定律
  10. ajax改变url参数,js修改URL参数_Javascript/Ajax_网页制作 - www.jscode.cn
  11. PADA: Example-based Prompt Learning for on-the-fly Adaptation to Unseen Domains
  12. dfs根目录_分布式文件系统DFS详细解读
  13. 华为策略路由原理与实验
  14. 华为手机android是什么意思,华为手机的英文文件夹是什么意思?哪些可以删除?今天总算知道了...
  15. matlab 图像 whos函数,matlab图像处理常用函数
  16. Babylon.js 深入
  17. 如何用PYTHON代码写出音乐
  18. [JVM]了断局: 局部变量表和操作数栈实例分析
  19. 对PTP 1588新的认识
  20. 图像进行反转:白变黑,黑变白

热门文章

  1. 强化学习(9):TRPO、PPO以及DPPO算法
  2. 计算机科学与技术在国内外的形势,计算机科学与技术就业形势分析
  3. java.io.FileNotFoundException: /sdcard/fav.txt (Permission denied)
  4. Redis主从复制、Redis哨兵模式、Redis集群
  5. vscode使用chatGPT
  6. # Linux shell终端设置代理服务器的方法
  7. Linux 入门教程 1
  8. 自我介绍 —兴趣爱好篇
  9. arcgis测量面积长度
  10. iClient for OpenLayers之快速获取UGCV5,MVT出图参数