我有一个名为file.txt的文件,里面有我的文字:
Text 1
Vivamus arcu neque, ullamcorper vel eleifend id, euismod viverra nisi.
Text 2
Cras posuere neque vitae fringilla lobortis.
Text 2
Phasellus eu sapien sit amet diam eleifend ultricies a vitae tellus.
Text 3
Nulla at ipsum et quam euismod porttitor sit amet sed odio.
我从该文件中选择“文本2”行和描述。
我想选择一个随机的“文本2”行,其描述不是全部。我试图打破它,但它只显示我的第一个值当然我试图改组%修剪但它没有像我预期的那样工作。
$trimmed = file('file.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
$value = 2;
foreach ($trimmed as $line) {
if ($line == "Text $value") {
echo $line."<br>";
echo current($trimmed);
}
}
由于
答案 0 :(得分:0)
试试这个,它可能很笨重:
<?php
function get_random_line($number, $file='file.txt'){
$trimmed = file($file, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
$string = "Text $number";
$array = array();
foreach ($trimmed as $key => $line) {
if($key % 2 == 0){
$arr_key = $line;
if(!array_key_exists($arr_key,$array)){
$array[$arr_key]['total'] = 0;
}
}else{
$array[$arr_key]['total']++;
$array[$arr_key]['rows'][] = $line;
}
}
if(key_exists($string,$array)){
$key = array_rand($array[$string]['rows'],1);
return $array[$string]['rows'][$key];
}else
{
return 'Provide a Valid Key';
}
}
echo '<pre>';
print_r(get_random_line(3,'file.txt')); // Get Random Lines based on Label Value
echo '</pre>';
?>