Toon posts:

[PHP] 2D Array

Pagina: 1
Acties:
  • 53 views sinds 30-01-2008

Verwijderd

Topicstarter
Hallo, Ik ben al ff aan het prutsen met een 2d array. ben de heledag er al mee aan het prutsen, dus het begon me een een beetje de dwarrelen voor de ogen. Ik heb de Omega search al gechecktd en functie Split werd ik ook nix wijzer van. Ik heb een bestand met bet bv de volgende in houd:
code:
1
2
Regel 1: hallo ik ben een bestand||ik ben het 2e gedeelte||en ik het 3e
Regel 2: Hallo ik ben de 2e regel||dit is een bestand met onzin||leuk he

nou stel dat ik het 2e gedeelte van de 1e regel wil hebben gebruik ik dit stukje PHP:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?
$file = file("bestand.dat");

for ($i = 0;;$i++) 
   {
      if ($i > 1) 
         {
         break;
         }
      $file[$i] = split("||",$file_nieuws);
      }

echo "$file[0][2]";

?>

maar als ik dit uitvoer op mijn webserver om het te testen krijg ik de volgende output: [2]
ik snap er helemaal nix van naar mijn denken zal dit moeten werken.
Dus mijn vraag is kan dit wel op deze manier?

  • _-= Erikje =-_
  • Registratie: Maart 2000
  • Laatst online: 06-07 14:29
doe eens een print_r($file)

Verwijderd

Topicstarter
output van print_r($file):
code:
1
Array ( [0] => [1] => )

  • Ericston
  • Registratie: Maart 2001
  • Laatst online: 05-08 18:36
Zucht.
Verwijderd schreef op 26 December 2002 @ 18:31:
Hallo, Ik ben al ff aan het prutsen met een 2d array. ben de heledag er al mee aan het prutsen, dus het begon me een een beetje de dwarrelen voor de ogen. Ik heb de Omega search al gechecktd en functie Split werd ik ook nix wijzer van.
split -- split string into array by regular expression
[...]
nou stel dat ik het 2e gedeelte van de 1e regel wil hebben gebruik ik dit stukje PHP:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?
$file = file("bestand.dat");

for ($i = 0;;$i++) 
   {
      if ($i > 1) 
         {
         break;
         }
      $file[$i] = split("||",$file_nieuws);
      }

echo "$file[0][2]";

?>

[...]
Here goes nothing.
• Die if conditie kan gewoon weg, daar is de hele for syntax voor gemaakt enzo.
• Om door een array te lopen kan je in PHP beter foreach gebruiken. Ziet er netter uit en werkt intuitiever.
• Zoals ik net al aanstipte werkt split met een regex. Daarin is de '|' een speciaal karakter dat je dus moet escapen. explode werkt hier dus beter en is waarschijnlijk ook sneller.
• Wat is $file_nieuws?
• Ik snap dus echt niet hoe het kan dat iedereen maar aanhalingstekens om hun variabelen neerzet, het ziet er lelijk uit en in dit geval werkt het ook gewoon niet.

Veel succes. Als dit je al begint te duizelen dan heb je dat namelijk wel nodig. :P

[ Voor 3% gewijzigd door Ericston op 26-12-2002 19:09 ]


  • Shagura
  • Registratie: Augustus 2001
  • Laatst online: 21-08 16:57
Ericston schreef op 26 december 2002 @ 19:09:
• Om door een array te lopen kan je in PHP beter foreach gebruiken. Ziet er netter uit en werkt intuitiever.
Je hebt overal gelijk helemaal 100% gelijk :), maar waar wil de topicstarter dan door een array lopen? Naar mijn mening is een for loop gewoon goed (niet deze for-loop dus), want hij loopt geen array door, hij wijst in een for loop een array toe...

  • Dryw.Filtiarn
  • Registratie: September 2001
  • Laatst online: 18-03 12:10
Het probleem is dat:
PHP:
1
echo "$file[0][2]";


niet goed geparst wordt, als je daar dit van maakt:
PHP:
1
echo $file[0][2];


Dus zonder de quotes gaat het wel goed.

=( Protected by witchcraft )=


  • _-= Erikje =-_
  • Registratie: Maart 2000
  • Laatst online: 06-07 14:29
dat zou niet uit mogen maken, al is je 2e optie wel beter :), de TS zal gewoon explode moeten gebruiken hier (of een regexp bouwen :))

  • Dryw.Filtiarn
  • Registratie: September 2001
  • Laatst online: 18-03 12:10
_-= Erikje =-_ schreef op 26 December 2002 @ 22:49:
dat zou niet uit mogen maken, al is je 2e optie wel beter :), de TS zal gewoon explode moeten gebruiken hier (of een regexp bouwen :))
Dat maakt wel degelijk uit hoor... Ik heb zelf het probleem ook al een aantal keren meegemaakt. Hoewel het waarschijnlijk ook afhankelijk is van je PHP-versie en de configuratie ervan.

=( Protected by witchcraft )=


  • Ericston
  • Registratie: Maart 2001
  • Laatst online: 05-08 18:36
Shagura schreef op 26 december 2002 @ 22:28:
[...]

Je hebt overal gelijk helemaal 100% gelijk :), maar waar wil de topicstarter dan door een array lopen? Naar mijn mening is een for loop gewoon goed (niet deze for-loop dus), want hij loopt geen array door, hij wijst in een for loop een array toe...
Hm, goed punt. Ik ging er vanuit dat hij door $file wilde lopen (en dat $file_nieuws dus per ongeluk fout was), en das dan wel een array. :)

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Jammer maar helaas... hear ye hear ye, Ericston spoken hast
[rml]Ericston in "[ PHP] 2D Array"[/rml]

toch echt manual werk.

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz

Pagina: 1

Dit topic is gesloten.