1

だから私はこのオブジェクトの配列を持っています。そこから、配列からオブジェクトの1つをランダムに取得し、それを意図した目的に使用したいと考えています。試してみarray_rand()ましたが、配列の 1 つからランダムな値しか返されませんでした。array_rand()配列内から抜き出された値ではなく、配列全体を変数として使用できるようにする方法はありますか?

配列の例:

Array
(
    [0] => stdClass Object
        (
            [id] => 10003
            [state] => CA
        )

    [1] => stdClass Object
        (
            [id] => 10003
            [state] => CA
        )

    [2] => stdClass Object
        (
            [id] => 10006
            [state] => CA
        )
)

似たようなことをするときにやりたいことはarray_rand()、変数が

[0] => stdClass Object
            (
                [id] => 10006
                [state] => CA
            )

または類似

4

1 に答える 1

7

array_rand のドキュメントから:

[array_rand] は、配列から 1 つ以上のランダム エントリを選択し、ランダム エントリの キー (複数可) を返します。

要約すると、配列からランダムなを取得する場合は、によって提供されるランダムキーarray_randを使用してアクセスする必要があります。

解決策、配列が次の場所に格納されていると仮定します$obj

$random_obj = $obj[array_rand($obj));
于 2013-07-18T15:47:12.403 に答える