【问题标题】:PHP Randomly select an array from an multidimensional array [duplicate]PHP从多维数组中随机选择一个数组[重复]
【发布时间】:2013-07-17 16:16:09
【问题描述】:

所以我有这个对象数组。我想从中随机取出数组中的一个对象,并将其用于预期目的。我已经尝试过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的文档吗?你想要的是$yourArray[array_rand($yourArray)];
  • @7-isnotbad 我不会说这是完全重复的。虽然您链接的问题中有很多有用的信息,但改组数组可能不是获得单个随机值的最佳方式
  • 有很多骗子,第一个不是。 This is more to the point。从数组中获取随机标量与获取随机复变量没有区别,数组项就是数组项,不管它是什么。

标签: php arrays


【解决方案1】:

来自array_rand documentation

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

总结一下:如果你想从一个数组中获取一个随机的value,你需要使用array_rand提供的随机key来访问它。 p>

解决方法,假设你的数组存储在$obj

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-12
    • 2018-11-11
    • 2011-11-13
    • 1970-01-01
    相关资源
    最近更新 更多