php 从一个数组中随机的取出若干个不同的数实例

yizhihongxing

要从一个数组中随机取出若干个不同的数有很多种方法,这里共享两种常用的实现方式,供大家参考。

方法一:使用 array_rand 函数

array_randPHP 中的一个内置函数,旨在从数组中随机选取一个或多个键名,返回键名或键名列表:

mixed array_rand ( array $array [, int $num = 1 ] )

其中参数1 $array 表示要从中选取键名的数组,参数2 $num 表示选取的键名数量(默认为1)。

基于此,我们可以将这些键名对应的数组值取出来,组成一个新数组,从而实现随机选取若干个不同元素的目的。

示例代码如下:

<?php
$sourceArr = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
$randKeys = array_rand($sourceArr, 3);
$outputArr = array();
foreach ($randKeys as $key) {
    $outputArr[] = $sourceArr[$key];
}
print_r($outputArr);
?>

解释一下上面的代码:

  1. 我们首先定义了一个数组 $sourceArr,存储一个由 1~10 这 10个整数构成的序列。

  2. 然后调用 array_rand($sourceArr, 3),表示从 $sourceArr 数组中取出 3 个键名。

  3. $randKeys 变量将返回所选取的 3 个键名。注意,这里 $randKeys 是一个整数索引数组。

  4. 我们通过 foreach 循环遍历 $randKeys 数组,以每个键名为下标,从 $sourceArr 数组中取出对应的元素,存储在 $outputArr 数组中。

  5. 最后,我们可以通过 print_r($outputArr) 将结果输出到浏览器。

方法二:使用 shuffle 函数

另外一种实现方式是使用 shuffle 函数。此函数支持原地打乱一个数组中的元素排序,从而让每个元素被等概率地随机选择。

示例代码如下:

<?php
$sourceArr = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
$outputArr = array();
shuffle($sourceArr);
$count = 3;
for ($i = 0; $i < $count; $i++) {
    $outputArr[] = $sourceArr[$i];
}
print_r($outputArr);
?>

解释一下上面的代码:

  1. 同样地,我们首先定义了一个数组 $sourceArr,存储一个由 1~10 这 10 个整数构成的序列。

  2. 调用 shuffle($sourceArr) 函数,表示打乱 $sourceArr 数组元素的顺序。

  3. 接着,我们定义一个循环,用于从 $sourceArr 数组中取出 $count 个元素。在每次循环中,我们依次取到 $sourceArr 数组中前 $count 个元素,存储到 $outputArr 数组中。

  4. 最后,我们可以通过 print_r($outputArr) 输出结果。

总结来说,从一个数组中随机选取不同元素的实现方式主要有两种:使用 array_rand 函数或使用 shuffle 函数。需要根据具体的场景选择合适的方法。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:php 从一个数组中随机的取出若干个不同的数实例 - Python技术站

(0)
上一篇 2023年5月26日
下一篇 2023年5月26日

相关文章

  • 解析php中的escape函数

    解析 PHP 中的 escape 函数 在 PHP 中,escape 函数是用来将字符串中的特殊字符进行转义的。这些特殊字符包括单引号、双引号、反斜杠和 ASCII 控制字符等。 escape 函数的语法 escape 函数的语法如下: string mysqli_escape_string ( mysqli $link , string $escapest…

    PHP 2023年5月27日
    00
  • win7 64位系统 配置php最新版开发环境(php+Apache+mysql)

    本文将为大家详细讲解“win7 64位系统 配置php最新版开发环境(php+Apache+mysql)”的完整攻略。 前置条件 在开始配置前,需要确保你已经安装了以下两个软件: Microsoft Visual C++ Redistributable for Visual Studio。下载时请根据你的操作系统版本和位数选择合适的版本。 Microsoft…

    PHP 2023年5月24日
    00
  • PHP实现的登录,注册及密码修改功能分析

    PHP实现的登录、注册及密码修改功能分析 1. 登录功能 1.1 登录页面 实现一个登录页面,用户需要输入用户名和密码来进行登录。该页面可以使用HTML和CSS来实现。 1.2 登录处理 登录功能的具体实现代码如下所示: <?php session_start(); if(isset($_POST[‘submit’])){ $username = $_…

    PHP 2023年5月27日
    00
  • PHP实现浏览器中直接输出图片的方法示例

    可以通过以下步骤实现PHP在浏览器中直接输出图片的方法: 实现方法 使用PHP原生函数实现 <?php $filename = "test.png"; // 返回文件类型,例如image/png $file_type = mime_content_type($filename); // 将文件以文件流的形式输出 header(&qu…

    PHP 2023年5月26日
    00
  • PHP 命令行工具 shell_exec, exec, passthru, system详细使用介绍

    PHP 命令行工具 shell_exec, exec, passthru, system详细使用介绍 在 PHP 中,有几个命令行工具可以用来执行操作系统命令,这些工具包括 shell_exec、exec、passthru、system。下面将对这几个工具进行详细介绍。 shell_exec 函数 shell_exec 函数执行命令,返回命令执行后的输出(标…

    PHP 2023年5月26日
    00
  • 56.com视频采集接口程序(PHP)

    对于”56.com视频采集接口程序(PHP)”,我们可以采用以下步骤来实现: 1. 获取视频信息 首先,我们需要获取视频信息,可以包括视频标题、时长、缩略图、播放地址等等。在56.com上,我们可以通过访问视频的API来获取这些信息。例如,可以通过以下API获取视频ID为339953464的视频信息: http://interface.56.com/vide…

    PHP 2023年5月23日
    00
  • php实现简单文件下载的方法

    下面是实现简单文件下载的方法攻略。 1. 准备下载文件 首先,需要确定要下载的文件及其路径。为确保下载路径有效,可以通过以下代码检查文件是否存在: if (file_exists($filepath)) { // 进行文件下载操作 } else { // 文件不存在,给出提示信息或者跳转到错误页面 } 2. 设置下载头信息 在进行文件下载之前,需要设置文件类…

    PHP 2023年5月23日
    00
  • php google或baidu分页代码

    下面是详细讲解“php google或baidu分页代码”的完整攻略。 1. 什么是分页 当一份数据过多时,为了防止页面卡顿,我们需要对数据进行分页,即将数据分成多个页,每页显示少量数据,用户翻页操作时,再去请求需要的页的数据。分页很常见在新闻列表、文章列表、搜索结果列表等场景下。 2. PHP实现分页的基本步骤 下面是使用PHP实现分页的基本步骤: 计算总…

    PHP 2023年5月23日
    00
合作推广
合作推广
分享本页
返回顶部