📜  如何从PHP中的数组中获取随机值?(1)

📅  最后修改于: 2023-12-03 15:23:47.363000             🧑  作者: Mango

如何从PHP中的数组中获取随机值?

在PHP中,我们可以使用array_rand()函数从数组中获取一个随机的键或索引。下面是一个示例代码片段:

<?php
$fruits = array('apple', 'banana', 'cherry', 'date', 'elderberry', 'fig', 'grape');

$random_fruit_key = array_rand($fruits);
$random_fruit_value = $fruits[$random_fruit_key];

echo "Random fruit key: " . $random_fruit_key . "\n";
echo "Random fruit value: " . $random_fruit_value . "\n";
?>

在上述示例中,我们首先定义了一个包含水果名称的数组$fruits。然后,我们使用array_rand()函数从数组中获取一个随机的键值。最后,我们输出了随机键和相应的水果值。

请注意,在上述示例中,array_rand()函数返回的是一个随机的键值,而不是值本身。这意味着我们需要使用返回的键值来获取数组中的相应值。

如果要从关联数组中获取随机值,则需要在函数调用中指定一个可选参数来指示函数返回的是随机键还是键对应的值。例如:

<?php
$students = array('John' => 21, 'Erica' => 19, 'Anna' => 23, 'Mark' => 20);

$random_student = array_rand($students, 1);
$random_student_name = $random_student;
$random_student_age = $students[$random_student];

echo "Random student name: " . $random_student_name . "\n";
echo "Random student age: " . $random_student_age . "\n";
?>

在上述示例中,我们定义了一个关联数组$students,其中包含学生的姓名和年龄。使用array_rand()函数和参数1,我们可以从关联数组中随机获取一个键值,该键值将包含学生的姓名。然后,我们使用该键获取相应的年龄值。

需要注意的是,当从关联数组中随机获取键值时,该键值将作为字符串返回,因此我们可以直接将其用作关联数组的键。