2010-11-04 6 views
0
ha15rs,250,home2.gif,2 
ha36gs,150,home3.gif,1 
ha27se,300,home4.gif,4 
ha4678,200,home5.gif,5 

quand je tourne ce fichier texte dans un tableau $ handle, comment puis-je tester le second champ (250,150,300,200)trouver des valeurs de tableau et les comparer?

Je veux vérifier si son en dessous de 100, si elle est affiche alors la ligne !! Comment pourrais-je manipuler le tableau pour le faire en PHP merci?

Répondre

1

Simple ..

$h = file("file_name"); 

for ($x = 0; $x < count($h); $x++) 
{ 
    $a = explode(",", $h[$x]); 
    if ($a[1] < 100) 
     echo $h[$x]; 
} 
+0

pourquoi deosnt formater l'écho – getaway

+0

Désolé, je ne comprends pas ce que vous voulez dire – Ass3mbler

0

Exploser chaque chaîne, vous avez donc quatre tableaux:

foreach($strings as $string){ 
    $arr = expode(',', $string); 

    if(intval($arr[1]) < 100){ 
    echo $string; 
    } 
} 
1

Je suppose que vous avez chaque ligne dans le fichier comme un élément dans votre tableau. Dans ce cas:

$data = array_map(function($e){ return explode(',', $e); }, $array); 
$desiredData = array_filter(function($e){ return $e[1] < 100; }, $data); 
+0

bonne façon de le faire! – cambraca

0

En supposant que vous avez un csv (je copié et modifié du code du php manual):

if (($handle = fopen("test.csv", "r")) !== FALSE) { 
    while (($line = fgets($handle)) !== FALSE) { 
     $data = str_getcsv($line); 
     if ($data[1] < 100) 
      echo $line; 
    } 
    fclose($handle); 
} 
+0

fgetcsv() rendra ce code plus court – stillstanding

+0

mais vous ne pouvez pas obtenir toute la ligne à écho plus tard (vous pouvez le construire à nouveau, mais c'est plus rapide à prends-le prêt) – cambraca

Questions connexes