我的目标是创建一个由三个随机单词组成的句子,这些单词将取自csv文件的列。
我很难让php只从正确的列中选择单词,因此第一列包含句子中第一个单词,第二列只包含中间单词,第三列只包含最后一个单词。
CSV文件示例:
my;horse;runs
your;chicken;sits
our;dog;barks
输出示例:
My chicken barks. *reload*
Your horse sits. *reload*
Our dog runs.
我目前的努力:
<?php
$file = fopen('input.csv', 'r');
while (($line = fgetcsv($file, 1000, ";")) !== FALSE) {
$x = array_rand($line);
echo $line[$x] . "\n";
}
?>
请提前感谢,并原谅这一点。
最佳答案
我会将列排序为单独的数组,然后选择一个随机索引。
<?php
$file = fopen('input.csv', 'r');
while (($line = fgetcsv($file, 1000, ";")) !== FALSE) {
$column1[] = $line[0];
$column2[] = $line[1];
$column3[] = $line[2];
}
function pickWord($wordArray){
$x = array_rand($wordArray);
echo $wordArray[$x] . "\n";
}
pickWord($column1);
pickWord($column2);
pickWord($column3);
?>
像那样的东西