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 に答える