Avatar billede majbom Novice
06. november 2003 - 15:00 Der er 10 kommentarer og
1 løsning

arrays i array med foreach

halløjsa...

er det ikke muligt at lave denne her om, så der bliver lavet et array i stedet for en "tr"..

groft sagt <table> -> $file_array
og <tr> -> line$i

lad os sige at vi har 10 linjer i textfilen med 5 forskellige ord der er separeret med ";" og hver linje skal ind i et array ($line1, $line2, $line3 osv), med lidt hurtig hovedregning bliver det til 10 arrays :) dem vil jeg gerne have ind i det første array ($file_array)

hvis i kan forstå hvad jeg mener vil jeg gerne høre om det kan det sig gøre...?

på forhånd tak
Avatar billede majbom Novice
06. november 2003 - 15:03 #1
ups... glemte koden:
foreach($lines as $key => $value){
  $fields=explode($delimiter,$value);
  $result.="<tr>\n";
  if($c==2){
    $c=0;
  }
  foreach($fields as $key2 => $value2){
    $result.="<td class='td".$c."'>".$value2."</td>\n";
  }
  $c++;
  $result.="</tr>\n";
}
Avatar billede rackbox Nybegynder
07. november 2003 - 00:29 #2
<?php

function file2array($filename, $delimiter){
        $lines = file($filename);
        foreach($lines as $key => $value){
                $fields[]=explode($delimiter,$value);
        }
        return $fields;
}


$myarray = file2array('text.txt', ';');

echo "<pre>";
print_r($myarray);
echo "</pre>";

?>
Avatar billede rackbox Nybegynder
07. november 2003 - 00:31 #3
Denne laver et array med arrays inde i - altså:

Array
(
    [0] => Array
        (
            [0] => postnr
            [1] => bynavn
            [2] => gade
            [3] => firma
            [4] => provins
            [5] => land

        )

    [1] => Array
        (
            [0] => 970
            [1] => Sumba
            [2] =>
            [3] =>
            [4] => False
            [5] => 3

        )
etc...

Du kan så komme i forbindelse med linie 10, 3 ord i din fil således:

$line10word3 = $myarray[10][3];
Avatar billede renegademaster Nybegynder
07. november 2003 - 08:56 #4
hej..
det er jo rackbox... nice han hjalp mig også sidst... (go gut)
kan du genkende din kode :D???
jeg tror han kan huske historie splazz (http://karakter.dluxz.dk)
Avatar billede renegademaster Nybegynder
07. november 2003 - 09:00 #5
koden virker fint så skal det bare i <table>'s...
også vælger man bare hvilket nummer man vil slette??? rigtigt?
Avatar billede rackbox Nybegynder
07. november 2003 - 16:41 #6
Øhmm.. Jeg er ikke helt sikker på, hvad du mener med det sidste ;-) Ja Det var mig, der hjalp dig sidst - og jeg håber da at det hjalp :-)

Den første kode fra det andet spørgsmål putter teksten ind i tables. Denne putter det ind i arrays. Hvis du vil putte teksten fra arrays ind i tables, så laver vi lige en funktion mere ;-)

function array2table($array){
  $result = "<table>\n";
  foreach ($array as $key => $value){
      $result.="<tr>";
      foreach ($value as $key2 => $value2){
        $result.="<td>".$value2."</td>";
      }
      $result.="</tr>\n";
  }
  $result.="</table>\n";
  return $result;
}

Denne funktion returnerer en streng med en tableopbygning udfra den anden funktion i dette spørgsmål ;-)
Avatar billede renegademaster Nybegynder
10. november 2003 - 08:07 #7
hmm jeg kan ikke få det til at virke...
det er sikkert bare mig... rackbox kan du ikke fotælle mig hvordan man gør? (gør = sætter den kode sammen ;) )


sådan står det i mit doc. =
--<kode>--

<?php

function file2array($filename, $delimiter){
        $lines = file($filename);
        foreach($lines as $key => $value){
                $fields[]=explode($delimiter,$value);
        }
        return $fields;
}

$myarray = file2array('text.txt', ';');

echo "<pre>";
print_r($myarray);
echo "</pre>";
?>

<?

function array2table($array){
  $result = "<table>\n";
  foreach ($array as $key => $value){
      $result.="<tr>";
      foreach ($value as $key2 => $value2){
        $result.="<td>".$value2."</td>";
      }
      $result.="</tr>\n";
  }
  $result.="</table>\n";
  return $result;
}
?>

--</kode>--

find fem fejl :D
Avatar billede rackbox Nybegynder
10. november 2003 - 22:54 #8
Først funktionerne:

<?php

function file2array($filename, $delimiter){
        $lines = file($filename);
        foreach($lines as $key => $value){
                $fields[]=explode($delimiter,$value);
        }
        return $fields;
}

function array2table($array){
  $result = "<table>\n";
  foreach ($array as $key => $value){
      $result.="<tr>";
      foreach ($value as $key2 => $value2){
        $result.="<td>".$value2."</td>";
      }
      $result.="</tr>\n";
  }
  $result.="</table>\n";
  return $result;
}

$myarray = file2array('text.txt', ';');
$echo array2table($myarray);
?>

Dette er i princippet det samme som den første stump, du fik: file2table();

Men præcis hvad du vil have af output er jeg ikke sikker på ;-( Prøv at poste igen, hvis dette ikke hjalp!
Rackbox
Avatar billede renegademaster Nybegynder
11. november 2003 - 08:59 #9
det virker stadig ikke... (???)

--<fejl>--
Parse error: parse error, unexpected T_STRING in /customers/dluxz.dk/dluxz.dk/httpd.www/karakter/index.php on line 98
-</fejl>--

de koder der står nu:
--<kode>--
<HTML>
<HEAD>
<TITLE>Karaktergennemsnit</TITLE>
</HEAD>
<link rel="stylesheet" type="text/css" href="index.css">
<BODY class="index">
<?php

function file2array($filename, $delimiter){
        $lines = file($filename);
        foreach($lines as $key => $value){
                $fields[]=explode($delimiter,$value);
        }
        return $fields;
}

function array2table($array){
  $result = "<table>\n";
  foreach ($array as $key => $value){
      $result.="<tr>";
      foreach ($value as $key2 => $value2){
        $result.="<td>".$value2."</td>";
      }
      $result.="</tr>\n";
  }
  $result.="</table>\n";
  return $result;
}

$myarray = file2array('text.txt', ';');
$echo array2table($myarray);
?>

</body>
</html>
--</kode>--
Avatar billede rackbox Nybegynder
11. november 2003 - 17:13 #10
Ups.. My bad... Det er jo selvfølgelig ikke $echo, men echo uden $... Sidste linie før
?>
Avatar billede renegademaster Nybegynder
12. november 2003 - 08:26 #11
LOL!...ja self... doh!... kunne jeg nok self ha' set.. sorry :D
nå men morten giver du ham ikke lige de points?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester