faker 类 randomElement () 方法和 array_random () 函数区别分析。

在本站教程数据填充中作者使用到faker 类randomElement () 方法。
看到有人有疑问为什么不使用array_random () 函数。

以下摘抄别人的内容,本人做个记录:

  • 表面上,二者的作用一致,都是从一个数组中随机取元素,但:
    • array_random () 实际上是借助了 PHP 原生函数 array_rand, 它产生的是伪随机数。
    • randomElement () 借助了 mt_rand,它产生的是一个质量更好,速度更快的随机数。
  • 而且,用在这里等于是传授了获取 faker 实例的另一种方法,faker 实例不仅仅可以在 factory 中通过依赖注入的方式实现,而且还可以通过 app () 这个函数来获取。
本作品采用《CC 协议》,转载必须注明作者和本文链接
懒惰的大叔
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 1

感谢分享!看了下 array_rand 的更新日志,7.1 之后似乎和 mt_rand 使用的是同一算法。

5年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!