PHP从多维数组中随机选择一个数组

时间:2013-07-18 15:43:25

标签: php arrays

所以我有这个对象数组。我想从中随机获取阵列中的一个对象,并将其用于其预期目的。我尝试了array_rand(),但只返回了其中一个数组的随机值。有没有类似于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
            )

或类似的

1 个答案:

答案 0 :(得分:7)

来自array_rand documentation

  

[array_rand]从数组中选择一个或多个随机条目,然后返回   随机条目的键(或键)

总结一下:如果要从数组中检索随机,则需要使用array_rand提供的随机来访问它。

解决方案,假设您的数组存储在$obj

$random_obj = $obj[array_rand($obj));