2

我有一个表,其中包含几个具有不同数据类型的字段。我的任务是创建一个用随机数据填充此表的 PHP 脚本。我的脚本将包含循环的 MySQL 查询。我知道如何创建用于生成随机日期整数字符串的查询。

我有一列使用具有 4 个值的ENUM数据类型(“接受”、“有错误”、“完成”、“失败”)。

我需要知道如何生成允许我用随机值填写 ENUM 字段的查询。

如果有人提供帮助,我将不胜感激。

ps 如果我的问题太愚蠢或不够清楚,我对此表示歉意。

谢谢

4

1 回答 1

3

将所有枚举值作为常量放在一个类中,如下所示:

<?php
class Status{
    const ACCEPTED= "accepted";
    const WITH_ERRORS= "with errore";
    const DONE= "done";
    const FAILED='failed';
}


$ref = new ReflectionClass('Status');
$statuses = $ref->getConstants();
print_r(statuses );

这应该输出:

Array
(
    ['ACCEPTED'] => accepted
    ['WITH_ERRORS'] => with errors
    ['DONE'] => done
    ['FAILED']=> failed
)

然后从$statuses数组中选择一个随机元素使用array_rand()

echo $statuses[array_rand($statuses)];

当然,您可以直接将状态添加到数组并array_rand()在其上使用,而不是用常量定义整个类,但恕我直言,从长远来看,这不是一个好方法。

于 2013-08-11T03:08:01.803 回答