下面的代码选择(不重复)来自txt文件的随机行。
$filename = "randomlines.txt";
$how_many_to_show = 10;
if ($random = file($filename)) {
shuffle($random);
for ($i = 0; $i < $how_many_to_show; $i++) {
$color[$i]=$random[$i];
}
} else {
die('Could not get contents of: ' . $filename);
}
工作正常。当我把以下字符串
print($fileContents[$i]. '<br />');
代替这个
$color=$random[$i];
我在屏幕上看到了10条不同的线条,从randomlines.txt中获取
但是我需要将每个不同的随机行与10个不同的变量(例如$ color1,$ color2 .... $ color10)相关联,以用于我的后续代码。
答案 0 :(得分:0)
我会创建一个数组数组,如下所示:
$lines = array(
array(
'color' => '#f00',
'line' => 'First random line.'
),
array(
'color' => '#ff0',
'line' => 'Second random line.'
),
);
以下是我提出的代码,未经测试:
$lines = file('randomlines.txt');
$colors = array('red', 'orange', 'yellow', 'blue', 'green');
shuffle($lines);
shuffle($colors);
$output = array();
for($i = 0; $i < 5; $i++ ) {
$output[] = array('line' => $lines[$i], 'color' => $colors[$i]);
}
答案 1 :(得分:0)
你的意图对我来说不太清楚......为什么不使用数组colors
而不是单个变量?
使用单个数组很简单:
$color[$i] = $random[$i];
如果你真的想使用单个变量,你可以这样做:
${"color" . $i} = $random[$i];
例如,代码
<?php
$random[0] = 'red';
$random[1] = 'blue';
$random[2] = 'green';
for ($i = 0; $i < 3; $i++) {
${"color" . $i} = $random[$i];
}
print $color0 . "\n";
print $color1 . "\n";
print $color2 . "\n";
?>
产地:
red
blue
green
希望这会有所帮助......