2010-05-17 3 views
1

nous ne pouvons pas diviser la chaîne suivant code.please Aidez-nous.exploser ne fonctionne pas pour diviser la chaîne

<?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); 
+0

fixe la mise en forme (au moins un peu). S'il vous plaît créer un testcase avec un exemple de chaîne et votre explosion, cela pourrait nous aider à vous aider. – dbemerlin

+0

Veuillez préciser ce qui ne fonctionne pas et les données que vous essayez de scinder. –

+0

Quelle est la sortie que vous obtenez avec 'print_r ($ t1);'? – Sarfraz

Répondre

0

Vous explosez sur les espaces. À moins qu'il y ait des espaces dans la chaîne, vous explosez, alors non, cela ne fonctionnera pas. Essayez d'utiliser le balisage de code pour rendre votre code un peu plus lisible afin d'obtenir des réponses de meilleure qualité de la part des gens.

1

Si je lis correctement le code que vous écrivez la chaîne séparés par \ t mais essayer de faire exploser avec des espaces, utilisez:

explode("\t", $string); 
1

Vous pouvez utiliser fgetcsv, puisque vous faites juste une norme tab- fichier d'entrée délimité. Compte tenu de votre fichier échantillon de:

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

puis

$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) 
    ... 
} 

vous donnera

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