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 框架的设计哲学。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
讨论数量: 1

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

5年前 评论

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