array_rand之后的空格

时间:2017-01-11 09:33:13

标签: php

我有一个PHP脚本,它从txt文件中生成随机引号:

<?php
    for ($i = 0; $i < 100; $i++) {
$lin1 = file('1.txt');
$first = $lin1[array_rand($lin1)];
$lin2 = file('2.txt');
$secound = $lin2[array_rand($lin2)];
$lin3 = file('3.txt');
$thi = $lin3[array_rand($lin3)];

echo "$first-$secound-$thi<br>";
}
?>

txt文件如下所示:

We
They
Them

我对输出的期望是这样的:

We-are-blue

但我得到的是:

We -are -blue

脚本在$ first,$ secound和$ thi之后添加空格。如何消除这个空间?

2 个答案:

答案 0 :(得分:1)

请替换

回声&#34; $ first- $ secound- $ thi
&#34 ;;

echo trim($ first)。&#39; - &#39; .trim($ secound)。&#39; - &#39; .trim($ thi)。&#39;
&#39 ;;

答案 1 :(得分:0)

来自file的{​​{1}}:

  

返回数组中的文件。数组的每个元素对应   到文件中的一行,换行符仍然附加。

您有一个结尾为\n的字符串数组,因此您需要修剪数据:

<?php
for ($i = 0; $i < 100; $i++) {
    $lin1    = file('1.txt');
    $first   = trim($lin1[array_rand($lin1)]);
    $lin2    = file('2.txt');
    $secound = trim($lin2[array_rand($lin2)]);
    $lin3    = file('3.txt');
    $thi     = trim($lin3[array_rand($lin3)]);

    echo "$first-$secound-$thi<br>";
}