首页 > 解决方案 > Laravel & Faker 不给出数组的随机元素

问题描述

我对 Laravel 和 Faker 有疑问。我想用 faker 的 randomElement 函数从数组中选择一个随机元素。我有这个简单的代码:

$siloID = DB::table('silos')->pluck('id');
echo(print("silos: ".$siloID));
echo(print("\nrandom element: ".$faker->randomElement($siloID)));

这在控制台上给了我这个:

筒仓:[3,9,14,18,21,93,42,55,88,99,31,38,65,1,23,68,98,13,39,40,45,49,59,6 ,11,24,25,60,64,90,94,97,100,4,15,7,26,29,85,35,43,75,22,48,58,80,86,87,62,82 ,89,30,95,12,28,33,73,17,27,57,72,74,83,91,69,78,37,76,81,20,53,79,32,46,56 ,77,92,34,41,44,67,16,19,52,61,96,5,10,47,51,54,84,2,36,66,71,50,70,8,63 ]1

随机元素:851

我不明白这一点,因为 851 不在数组中?我做错了什么?

标签: phplaravelfaker

解决方案


结合echoprint正在创建问题(由于括号,它在末尾添加了 1 )。该$faker方法randomElement 工作正常

要修复只需删除额外的 php 方法。

echo("silos: ".$siloID);
echo("\nrandom element: ".$faker->randomElement($siloID));

因为我怀疑这只是为了测试输出并且您的最终代码不需要组合echo/print语句,所以该$faker方法应该适合您。


推荐阅读