patlamaya dize bölmek için çalışmıyor

3 Cevap php

Aşağıdaki dize bölemez biz code.Please bize yardım et.

 <?php
$i=0;
$myFile = "testFile.txt";
$fh = fopen($myFile, 'a') or die("can't open file");
$stringData = "no\t";
fwrite($fh, $stringData);
$stringData = "username \t";
fwrite($fh, $stringData);
$stringData ="password \t";
fwrite ($fh,$stringData);

$newline ="\r\n";
fwrite ($fh,$newline);
$stringData1 = "1\t";
fwrite($fh, $stringData1);
$stringData1 = "srinivas \t";
fwrite($fh, $stringData1);
$stringData1 ="malayappa \t";
fwrite ($fh,$stringData1);


fclose($fh);



?>
$fh = fopen("testFile.txt", "r");
$
while (!feof($fh)) {
$line = fgets($fh);
echo $line;
}

fclose($fh);
$Beatles = array('pmm','malayappa','sreenivas','PHP');

for($i=0;$i<count($Beatles);$i++)
{
if($i==2)
{

echo $Beatles[$i-1];
echo $Beatles[$i-2];

}
}
$pass_ar=array();
$fh = fopen("testFile.txt", "r");
while (!feof($fh)) {
$line = fgets($fh);
echo $line;
$t1=explode(" ",$line);

print_r($t1);
array_push($pass_ar,t1);
}

fclose($fh);

3 Cevap

I kodunu okursanız doğru bir \ t ayrılmış dize yazma ama alanlarda, kullanımı ile patlamaya deneyin:

explode("\t", $string);

Eğer sadece standart bir sekme ile sınırlandırılmış giriş dosyasını yapıyoruz beri, fgetcsv kullanabilirsiniz. Sizin örnek dosya Verilen:

no [tab] username [tab] password
1  [tab] srinivas [tab] malayappa

o zaman

$lines = array();
$fh = fopen('testfile.txt', 'rb') or die ("can't open testfile.txt");
while($lines[] = fgetcsv($fh, 0, "\t") { // no line length limit, tab delimiter)
   ...
}

verecek

$lines = Array(
    0 => Array(
         0 => 'no ',
         1 => 'username ',
         2 => 'password '
    ),
    1 => Array(
         0 => 1,
         1 => 'srinivas ',
         2 => 'malayappa'
    )
);

Sen boşluklarla patlıyorsun. Boşluk dize senin patlayan olmadıkça o hayır, o iş olmaz.

Insanların daha kaliteli yanıtları almak için kod biraz daha okunabilir hale getirmek için kod biçimlendirme kullanmayı deneyin.