0
私は4つの値を持つ配列を持っています。私は、配列内の値のテキストファイルを検索し、文字列が利用可能な行番号を返したいと思います。しかし、私のコードが実行されると、配列の最初の値の行番号だけが与えられ、残りの配列値についても同じ行番号が出力されます。私は$code
をエコーするとforeach内のwhileループを使って文字列の行番号を取得する
$scheme_code = array("106212","112422","114239","128053");
$search = $scheme_code[0];
$i = 0;
$line_number = false;
$count = 0;
$handle = fopen("http://portal.amfiindia.com/spages//NAV0.txt", 'r');
foreach ($scheme_code as $code) {
echo $code."<br>";
while (($line = fgets($handle, 4096)) !== FALSE and !$line_number) {
$count++;
$line_number = (strpos($line, $code) !== FALSE) ? $count : $line_number;
}
echo "The line number is".$line_number."<br>";
//fclose($handle);
}
私の出力は、この106212 The line number is 5386 112422 The line number is 5386 114239 The line number is 5386 128053 The line number is 5386
5386 is the line number of the value 106212.
のようなものです。 $code
が印刷されますが、最初のコードの行番号は残りのコードだけが印刷されます。