为什么 PHP 要这样选择随机值?

2023-11-25

所以...我正在测试一些东西并注意到当我运行此代码时:

$arr = str_split("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890", 1);
print_r(implode(array_rand(array_flip($arr), 16)));

输出是

Refresh 1: BDFIJKPTVkl12789
Refresh 2: HIJKMQWYdfmorsw3
Refresh 3: FGHMNRVYfhknouw5
Refresh 4: AFIJKRSVeiuwx579
Refresh 5: DJORYZcgijlpqry1
Refresh 6: EISWbhjmoqr45689
Refresh 7: CDEFOTXdhkloqr27
Refresh 8: AEFIKLNORSknx349
Refresh 9: DEFHJMTVZcgpstz0
Refresh 10: CLQTZbefhnpq1279

为什么输出每次都是以1到5个大写字母开头? 这种“随机性”对我来说似乎很奇怪。

我想知道为什么我会得到这个结果。


array_rand(自 PHP 5.2.10 起)不再打乱其生成的随机键列表(您会注意到输出字符串均按字母顺序排列,即字符的顺序与输入字符串中的顺序相同)。如果您不想要这种行为,请使用shuffle and array_slice反而:

$arr = str_split("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890", 1);
shuffle($arr);
echo implode('', array_slice($arr, 0, 16));

Output:

dU54f9wBjZbAKgCP

3v4l.org 上的演示

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 PHP 要这样选择随机值? 的相关文章

  • PHP MongoDb 驱动程序:如何设置执行代码的超时

    我有以下代码 它在 MongoDb 端执行一段代码 mongoCode new MongoCode Some JS code db gt execute mongoCode array socketTimeoutMS gt 1000000
  • AWS-PHP-SDK / SNS 直接寻址返回错误

    您好 我正在使用 Laravel 4 设置来利用 AWS SNS 向我的 iOS 设备发送推送消息 从 AWS 控制台向我的设备发布命令效果很好 然后我尝试从 PHP sns AWS get sns sns gt publish array
  • 确定数组的大小(如果传递给函数)

    如果将数组传递给另一个函数 未传递大小 是否可以确定数组的大小 数组的初始化类似于 int array XXX 我知道不可能执行 sizeof 因为它会返回指针的大小 我问的原因是因为我需要在传递数组的另一个函数内运行 for 循环 我尝试
  • 适用于 Linux 的轻量级 IDE [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • C# 和匿名对象数组

    这样的表达是什么意思呢 obj DataSource new new Text Silverlight Count 10 Link Tags Silverlight new Text IIS 7 Count 11 Link http iis
  • Facebook PHP-SDK 页面刷新后似乎丢失了 userID

    我似乎登录工作正常 我可以登录 接受应用程序 第一次 然后显示用户信息 例如姓名 图片 等 然而 当我刷新页面时 userid 又回到 0 我必须再次登录 我不确定问题是什么 我必须在每次页面加载时重新启动它还是什么 我不知道 我会发布一些
  • 使用 Tkinter 显示 numpy 数组中的图像

    我对 Python 缺乏经验 第一次使用 Tkinter 制作一个 UI 显示我的数字分类程序与 mnist 数据集的结果 当图像来自 numpy 数组而不是我的 PC 上的文件路径时 我有一个关于在 Tkinter 中显示图像的问题 我为
  • 如何在codeigniter中将上传图片比例限制为16:9?

    这是我用来上传图像的代码 this gt load gt library upload ext pathinfo file name PATHINFO EXTENSION img name now ext imgConfig upload
  • 删除近排序数组中未排序/离群元素

    给定一个像这样的数组 15 14 12 3 10 4 2 1 我如何确定哪些元素乱序并删除它们 在本例中为数字 3 我不想对列表进行排序 而是检测异常值并将其删除 另一个例子 13 12 4 9 8 6 7 3 2 我希望能够删除 4 和
  • 一次从多个表中删除行

    我正在尝试将 2 个查询合并为一个这样的查询 result db gt query DELETE FROM menu WHERE name new or die db gt error result db gt query DELETE F
  • 使用PHP从doc、xls文件中读取数据

    我想知道是否可以从 doc 和 xls 文件中读取数据并将 将内容读取到图像文件中 创建文档的页面样本 例如 我有一些文件希望我的客户购买 所以我需要自动创建小图像 例如我的文档样本 我们将不胜感激您的帮助 对于读取 xls 文件 我真的推
  • 字符串数组文本格式化

    我有这个字符串 String text Address 1 Street nr 45 Address 2 Street nr 67 Address 3 Street nr 56 n Phone number 000000000 稍后将被使用
  • 雄辩的第一个 where 子句

    我想知道 Laravel 如何实现雄辩的语法 以便可以静态调用第一个 where 子句User where User where id 23 gt where email email gt first 他们有吗public static f
  • PHP session_regenerate_id 和黑莓浏览器

    问候 我正在开发一个登录系统 并陷入了黑莓浏览器身份验证的困境 他们似乎对 PHP 的 session regenerate id 有问题 有人可以建议替代方案吗 以下是身份验证和登录脚本 UPDATE看来会话一般都不起作用 拿出 sess
  • session_start():无法解码会话对象

    我有时在使用 CodeIgniter 时遇到以下问题 错误 2019 03 05 19 57 26 gt 严重性 警告 gt session start 无法解码会话对象 会话已被销毁 system libraries Session Se
  • 使用 php/regex 验证美国电话号码

    EDIT 我混合并修改了下面给出的两个答案 以形成完整的功能 现在它可以完成我想要的功能 然后是一些 所以我想我会将其发布在这里 以防其他人来寻找同样的东西 Function to analyze string against many p
  • 如何在 PHP 5.6 中通过 php.ini 设置“verify_peer_name=false”SSL 上下文选项

    案例 我想打开 SSL 连接localhost而 SSL 证书是 FQDN 的问题 问题 没有进行特殊处理就行 下面的程序失败并显示以下消息 PHP Warning stream socket enable crypto Peer cert
  • PayPal 网关已拒绝请求。安全标头无效(#10002:安全错误 Magento

    在 magento 中增加 PayPal 预付款 我已填写 magento admin 中的所有凭据 但是当我进入前端并单击 pay pal 按钮时 它给出了 PayPal 网关已拒绝请求 安全标头无效 10002 安全错误 我用谷歌搜索了
  • PHPUnit - 模拟 S3Client 无法正常工作

    库 aws aws sdk php 2 PHP 版本 PHP 5 4 24 cli 作曲家 json require php gt 5 3 1 aws aws sdk php 2 require dev phpunit phpunit 4
  • 如何从日期中查找该月的最后一天?

    如何在 PHP 中获取该月的最后一天 Given a date 2009 11 23 我要2009 11 30 并给出 a date 2009 12 23 我要2009年12月31日 t返回给定日期所在月份的天数 请参阅的文档date ht

随机推荐

  • 范围运算符从最大到最小递减:10..1 [重复]

    这个问题在这里已经有答案了 Perl 有一个范围运算符 当在foreach循环 不创建临时数组 foreach 1 1 000 000 code 如果第一个整数小于第二个整数 则不运行迭代 foreach 1 000 000 1 code
  • 将 DataTable 分配给 ViewState 是持久数据的好方法吗?

    我从数据库获取一个 DataTable 并分配给 ViewState 如下所示 因为我不想每次都访问我的数据库 只想检查 DataTable 以进行后续查找 DataTable dt GetDataTable ViewState dtTab
  • 如何确定计算机是否运行 XP Service pack 3

    使用注册表或文件系统 限制的原因是我将其作为 MSI 条件语句来执行 Cheers 在注册表项下 HKLM SOFTWARE Microsoft Windows NT CurrentVersion 寻找密钥对 当前版本 Microsoft
  • 在 Emacs 中使用 Python 的 Unicode 转换问题

    我试图了解在命令行上运行与作为 Emacs elisp 函数的一部分运行时 Python 脚本行为的差异 该脚本如下所示 顺便说一句 我使用的是 Python 2 7 1 import json t Foo print json dumps
  • 您将如何在 SQL 数据库中创建和存储用户定义的自定义字段?

    我需要允许用户向记录添加新字段 例如如果有联系人记录 用户可能想要添加 SSN 数字字段和 生日 日期 日历字段 当然 他们会通过用户界面来完成此操作 这些字段应该可用于输入所有联系人记录 考虑到我的应用程序同时为许多用户运行 不是单一公司
  • Angular Universal 生成 404(和其他 HTTP 代码)标头

    我正在使用 Angular Universal 创建一个网站 它将进行服务器端渲染 以便搜索引擎可以对其进行索引 我已经编码了 404 后备路由 它正确显示了其组件 但它显示了 HTTP 200 标头代码 如何强制使用特定的标头代码 我用谷
  • iOS 应用程序在 iOS 14 及更低版本的 Testflight 上启动时崩溃,但在 iOS 15+ 上不会崩溃

    从几天前开始 我们的应用程序和 或 Testflight 遇到了一些奇怪的问题 当从 Xcode 运行时 我们的应用程序在模拟器和设备 iOS 12 iOS 14 和 iOS 15 上运行良好 但当我们运行时 它在启动时崩溃了 通过 Tes
  • 如何让 IntelliJ 对项目中的所有主文件使用 JVM 选项?

    我可以配置一个主文件以使用所需的本机 但在我的项目中有多个主要函数 因此当我可以选择调试我想要的任何一个而无需为每个函数创建配置时 我需要所有文件来使用 JVM 选项一 您可以更改下面的配置Defaults node 模板在新版本中 所有新
  • 在 Xcode 10 中构建时重置应用程序后 String.hashValue 不唯一

    我有一个 通过以下方式获取字符串的哈希值 String hashValue 代码 我在下面添加了它 该代码在 Xcode 9 4 1 中运行良好 工作良好意味着每当我关闭应用程序并重新打开它时 结果hashValue相同 唯一 privat
  • C++ 函数中静态变量的生命周期是多长?

    如果一个变量被声明为static在函数的作用域中 它仅初始化一次并在函数调用之间保留其值 它的寿命究竟是多少 它的构造函数和析构函数什么时候被调用 void foo static string plonk When will I die T
  • 从 Delphi 调用 dotNET 并返回一个字符串

    Delphi 应用程序如何调用导出函数 非 COM dotNET 程序集并让该函数返回字符串 对于我的特定应用程序来说 COM 不是一个可能的解决方案 我可以控制通话的两端 到目前为止我所尝试过的 Delphi 客户端 type TStrP
  • 为什么我的 python 程序在 eclipse/pydev 中调试这么慢?

    我有一个相对简单 没有类 的 python 2 7 程序 该程序所做的第一件事是将 sqlite 数据库读入字典中 数据库很大 但不是很大 磁盘上大约 90Meg 读入大约需要 20 秒 读入数据库后 我初始化一些变量 例如 localMa
  • 制作 CSS 下拉菜单 2 列

    我目前有一个 CSS ul li 使用以下代码的下拉菜单 不幸的是 我希望子菜单显示为 2 列 因为该子菜单中有大约 16 个项目 有谁知道如何使用下面的代码使这个下拉菜单成为 2 列 menu border none border 0px
  • SVG 路径字符串上的布尔运算

    我遇到了一个概念上的困难问题 简而言之 我需要找到通过不同布尔运算组合的两个向量路径的向量路径 例如并 差 交 减 如果我能像 Canvas 的 globalCompositeOperation 那样进行操作 那就太好了 我到底该怎么做呢
  • 使用 pthread_cancel 取消线程:好习惯还是坏习惯

    我在 Linux CentOS 5 3 上有一个 C 程序 它生成多个线程 这些线程处于无限循环中以执行作业并睡眠一定分钟 现在 我必须取消正在运行的线程 以防出现新的配置通知 并重新启动一组新的线程 为此我使用了 pthread canc
  • 如何在列上存储元数据

    假设您正在收集有关即将上映的超级英雄电影的内部信息 并且您的主电影表如下所示 Table 1 Title Director Leading Male Leading Female Villain Green Lantern Kubrick
  • 如何在 python 中部署函数及其依赖项?

    我正在尝试使用serverless用于创建和部署 AWS Lambda 函数的框架 我创建了一个名为vendored在项目的根目录中并安装 使用pip install 函数依赖关系 但是 每当我尝试运行它时 使用serverless fun
  • 如何从 Tensorflow 中的张量中获取特定行?

    我有一个张量定义如下 temp var tf Variable initial value np asarray 1 2 3 4 5 6 7 8 9 10 11 12 我还有一个要从张量中获取的行索引数组 idx tf constant 0
  • *ngIf 和 *ngFor 在同一元素上导致错误

    我在尝试使用 Angular 时遇到问题 ngFor and ngIf在同一个元素上 当尝试循环遍历集合时 ngFor 该集合被视为null因此在尝试访问模板中的属性时会失败 Component selector shell templat
  • 为什么 PHP 要这样选择随机值?

    所以 我正在测试一些东西并注意到当我运行此代码时 arr str split ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890 1 print r implode