我想知道如何随机显示这两个数组值。我试图随机但失败了。这是我的文件:
<?php
$names=file('name.txt');
$fileArray = array_values(array_filter($names, "trim"));
$randomText = $fileArray[0];
$randomText .= $fileArray[1];
?>
<h1>Test: <?php echo $randomText; ?></h1>
name.txt
Alim
Qureshi
Test2
TestTwo
Test3
TestThree
Test4
TestFour
Test5
TestFive
我希望它随机显示name.txt中的字符串,但要将“Test2 TestTwo”之类的字符串集保存在一起,以便它们同时显示。我怎么能这样做?
答案 0 :(得分:2)
在数组中获取值后,您可以使用array_chunk
将其拆分为两项子阵列,这样您想要的两个部分在随机化时可以保持在一起。在输出之前,只需shuffle
。
$names = file('name.txt');
$fileArray = array_values(array_filter($names, "trim"));
$fileArray = array_chunk($fileArray, 2);
shuffle($fileArray);
foreach ($fileArray as $chunk) {
$randomText = $chunk[0];
$randomText .= $chunk[1];
echo $randomText . '<br>';
}
答案 1 :(得分:0)
以下是使用array_chunk()
的两种方式,以便两者保持匹配:
$names = array_chunk($names, 2);
$rand = $names[array_rand($names)];
echo $rand[0] . $rand[1];
或者:
$names = array_chunk($names, 2);
shuffle($names);
echo $names[0][0] . $names[0][1];