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


PHP Randomly select an array from an multidimensional array

所以我有这个对象数组。从中,我想从数组中随机获取一个对象,并将其用于预期目的。我尝试过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
            )

或类似

来自array_rand文档:

[array_rand]从数组中挑选一个或多个随机条目,并返回随机项的一个或多个键

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

解决方案,假设您的阵列存储在$obj:中

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