随机打印PHP数组中的几个元素,PHP怎么写
时间: 2024-03-21 13:43:11 浏览: 45
你可以使用 PHP 的 `array_rand()` 函数来随机获取数组中的几个元素,具体用法如下:
```php
$arr = array('apple', 'banana', 'orange', 'peach', 'pear');
// 随机取出 2 个元素
$random_keys = array_rand($arr, 2);
// 根据随机的键名获取对应的元素值
echo $arr[$random_keys[0]] . "<br>";
echo $arr[$random_keys[1]] . "<br>";
```
上面的代码会随机从 `$arr` 数组中取出 2 个元素,并打印出来。你可以根据需要修改第二个参数来控制获取的元素个数。
相关问题
php 字符串 转 数组
在PHP中,可以使用explode函数将字符串转换为数组。该函数需要两个参数,第一个参数是分隔符,用于指定在哪个字符处进行分割,第二个参数是要进行分割的字符串。例如,如果要将字符串"hello1,hello2,hello3,hello4,hello5"按逗号分割为数组,可以使用以下代码:
```
$source = "hello1,hello2,hello3,hello4,hello5";
$array = explode(',', $source);
```
在上述代码中,我们将逗号作为分隔符,将$source字符串分割成了一个包含"hello1","hello2","hello3","hello4"和"hello5"的数组$array。现在,你可以通过引用数组的索引来访问和操作数组中的元素。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [PHP实现多维数组转字符串和多维数组转一维数组的方法](https://download.csdn.net/download/weixin_38691482/13729533)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *2* [PHP从数组中随机选取几个值组成新的字符串(输出字符串非数组)](https://download.csdn.net/download/xiaoyuejie/82719227)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *3* [php中利用explode函数分割字符串到数组](https://download.csdn.net/download/weixin_38611877/13731546)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"]
[ .reference_list ]
用PHP写一个程序:使用数组、表单、字符串处理,随机函数函数等实现功能: 顺序点名 随机点名 指定点名
以下是使用PHP编写的程序,可以实现顺序点名、随机点名和指定点名的功能:
```php
<!DOCTYPE html>
<html>
<head>
<title>点名程序</title>
</head>
<body>
<h1>点名程序</h1>
<form method="post">
<p>请输入学生姓名:</p>
<input type="text" name="name">
<br><br>
<input type="submit" value="顺序点名" name="order">
<input type="submit" value="随机点名" name="random">
<input type="submit" value="指定点名" name="assign">
<br><br>
</form>
<?php
// 学生名单
$students = array("张三", "李四", "王五", "赵六", "陈七", "周八", "钱九", "孙十");
// 顺序点名
if (isset($_POST["order"])) {
static $i = 0; // 静态变量,记录点到第几个学生
if ($i >= count($students)) {
$i = 0; // 所有学生点完后重新从第一个开始
}
echo "第 " . ($i+1) . " 个学生是:" . $students[$i] . "<br>";
$i++;
}
// 随机点名
if (isset($_POST["random"])) {
$index = rand(0, count($students)-1); // 随机生成一个下标
echo "随机点名结果是:" . $students[$index] . "<br>";
}
// 指定点名
if (isset($_POST["assign"])) {
$name = $_POST["name"];
if (empty($name)) {
echo "请输入学生姓名!<br>";
} else if (!in_array($name, $students)) {
echo "该学生不在名单中!<br>";
} else {
echo "指定点名结果是:" . $name . "<br>";
}
}
?>
</body>
</html>
```
这个程序中,首先定义了一个包含所有学生姓名的数组 `$students`。然后通过表单获取用户输入的学生姓名,并根据用户点击的不同按钮执行不同的操作。
在顺序点名功能中,使用了一个静态变量 `$i` 来记录当前点到了第几个学生,每次点名后 `$i` 自增1,当 `$i` 大于等于学生总数时,重新从第一个学生开始点名。
在随机点名功能中,通过 `rand()` 函数生成一个随机的下标,然后输出对应的学生姓名。
在指定点名功能中,首先判断用户输入的姓名是否为空,然后判断输入的姓名是否在名单中。如果都满足条件,就输出这个学生的姓名。否则输出错误信息。
阅读全文