>我有 2 个索引 0 和 1 的数组,当我调用它时,我应该从这些索引中选择随机我的数组是
'schools' => [
'records' => [
'students' => [
'add' => [
'text 1',
'text 2'
],
],
],
],
这里我的数组是
trans('app.schools.records.students.add')
它现在同时选择文本 1 和文本 2,所以我在助手中将其 2 传递给我的方法
{{gettitles(trans('app.schools.records.students.add'))}}
我的获取标题方法看起来像
function gettitles ($array){
$rand_keys = array_rand($array, 2);
echo $array[$rand_keys[0]] . "n";
echo $array[$rand_keys[1]] . "n";
}
如果我回显索引 0 它唯一的文本,它总是会同时拾取......但我只想要文本 1 和文本 2 中的一个随机请帮助修复它谢谢
$rand_keys = array_rand($array, 2);
你告诉它返回 2 个元素。2 是要返回的随机元素的数量。将其更改为 1。
$rand_keys = array_rand($array, 1);
http://php.net/manual/en/function.array-rand.php
此代码经过测试并工作:
$myArray = array("test 1", "test2");
gettitles($myArray);
function gettitles ($array){
$rand_keys = array_rand($array, 1);
echo $array[$rand_keys] . "n";
}
您选择使用的函数array_rand返回随机元素的键,而不是元素本身的内容。
array_rand函数从数组中选取一个或多个随机条目,并返回随机条目的键。它使用不适合加密目的的伪随机数生成器。因此,而不是 2 通过 1。
function gettitles ($array){
shuffle($array);
$rand_keys= array_values($array);
echo $array[$rand_keys[0]] . "n";
echo $array[$rand_keys[1]] . "n";
}
它会起作用。
编辑
并使用随机功能的组合array_values它将起作用。
function gettitles ($array){
shuffle($array);
$rand_keys= array_values($array);
echo $array[$rand_keys[0]] . "n";
echo $array[$rand_keys[1]] . "n";
}
编辑 2
function gettitles ($array){
shuffle($array);
$rand_keys= array_values($array);
echo $rand_keys[0] . "n";
echo $rand_keys[1] . "n";
}