在php中修改数据的显示格式

时间:2013-02-07 11:34:43

标签: php csv

我有一个包含3行和3列的csv文件(列的名称是:firstname,lastname和adress

我开发了一个php脚本,显示了该文件中的所有数据

<?php
ini_set('display_errors',1);
 error_reporting(E_ALL);

//Fichier CSV à parser

$fichier = '/home/test.csv';
//On vérifie que le fichier existe bien :)

if (file_exists($fichier))
{
//On l'ouvre en mode "read only"
$fp = fopen($fichier, 'r');
//Tant que l'on n'a pas finit de lire le fichier
while (!feof($fp)){
//On lit les 4096 caractères de la ligne
$ligne = fgets($fp,4096);
/* On met dans un tableau toutes les données, séparées par des points virgules */
$liste = explode(';',$ligne);
/* On crée une colonne contenant les données pour chacune d'entre elles en parsant le tableau */
foreach($liste as $element)
{

   if (trim($element)!=null)
   {
echo $element;
echo "</br>";

   }

}

}

//On ferme le fichier

fclose($fp);
}
else
echo "Fichier introuvable !";


?>

我的目标是以这种格式显示结果:

firstname:... lastname ... adress ...

firstname:... lastname ... adress ...

firstname:... lastname ... adress ...

我认为我应该在我的代码中修改这部分:

foreach($liste as $element)
    {

       if (trim($element)!=null)
       {
    echo $element;
    echo "</br>";

       }

    }

2 个答案:

答案 0 :(得分:0)

试试这个

 <?php
    ini_set('display_errors',1);
     error_reporting(E_ALL);

    //Fichier CSV à parser

    $fichier = '/home/test.csv';
    //On vérifie que le fichier existe bien :)

    if (file_exists($fichier))
    {
    //On l'ouvre en mode "read only"
    $fp = fopen($fichier, 'r');
    //Tant que l'on n'a pas finit de lire le fichier
    while (!feof($fp)){
    //On lit les 4096 caractères de la ligne
    $ligne = fgets($fp,4096);
    /* On met dans un tableau toutes les données, séparées par des points virgules */
    $liste = explode(';',$ligne);
    /* On crée une colonne contenant les données pour chacune d'entre elles en parsant le tableau */
    if(trim($liste[0])!=null)
    echo " firstname " . $liste[0];
    if(trim($liste[1])!=null)
    echo " lastname" .  $liste[1];
   if(trim($liste[2])!=null)
    echo " address" .  $liste[2];
    echo "<br/>";
       }

    }

答案 1 :(得分:0)

我尝试这样的事情。也许它会帮助你。

while (!feof($fp))
{
    $ligne = fgets($fp,4096);
    $liste = explode(';',$ligne);

    if($liste[0] != "firstname" && $liste[1] != "lastname" && $liste[2] != "address")
    {
        echo " <strong>firstname</strong> : " . $liste[0];
        echo " <strong>lastname</strong> : " .  $liste[1];
        echo " <strong>address</strong> : " .  $liste[2];
        echo "<br/>";
    }   
}