我的目标是创建一个由三个随机单词组成的句子,这些单词将取自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);
 ?>

像那样的东西

10-05 20:45
查看更多