通过数组中的键选择多个随机值

Jas*_*ale 0 php arrays random multidimensional-array

我想从数组中选择5个随机ID。这是我的数组$test

Array
(
    [id] => 13
    [pets] => 8
)
Array
(
    [id] => 15
    [pets] => 8
)
Array
(
    [id] => 16
    [pets] => 10
)
Array
(
    [id] => 17
    [pets] => 9
)
Array
(
    [id] => 18
    [pets] => 10
)
Array
(
    [id] => 19
    [pets] => 10
)
Array
(
    [id] => 20
    [pets] => 0
)
Array
(
    [id] => 21
    [pets] => 8
)
Array
(
    [id] => 22
    [pets] => 9
)
Array
(
    [id] => 23
    [pets] => 4
)
Array
(
    [id] => 24
    [pets] => 0
)
Array
(
    [id] => 40
    [pets] => 8
)
Array
(
    [id] => 43
    [pets] => 2
)
Run Code Online (Sandbox Code Playgroud)

如何从数组中选择5个随机ID,并将其放入这样的字符串中:

$ids = '13,17,18,21,43';
Run Code Online (Sandbox Code Playgroud)

我尝试使用array_rand它,但它似乎不适用于我的数组类型。我不确定是否有其他内置的PHP函数可以完成这种工作,或者我是否必须创建自己的函数,最好有这样的函数来插入数字。谢谢

And*_*eas 5

您可以使用array_column仅获取ID并对其进行随机排序。
然后使用array_slice获得五个项并内爆。

$id = array_column($arr, "id");
Shuffle($id);
Echo implode(",", array_slice($id, 0, 5));
Run Code Online (Sandbox Code Playgroud)