Toon posts:

[php] Importeren database in array

Pagina: 1
Acties:

Verwijderd

Topicstarter
Wat is de (efficientste) manier om een txt-database in te lezen als array?

Database:
sleutel1|waarde1|
sleutel2|waarde2|
sleutel3|waarde3|

* De opmaak kan worden veranderd, het gaat om de combinatie van sleutel en waarde. De inhoud van de database zit al in een variabele, de scheidingstekens zijn willekeurig.

Nu moet sleutelx de indexnaam worden, en waardex de waarde daarvan:
code:
1
$array[sleutelx] = "waardex";

Met explode() kom ik al een heel eind, maar ik weet niet of dit zo efficient is. Hoe ik het nu heb moet je namelijk eerst elke waarde en sleutel afzonderlijk in een array stoppen:
code:
1
2
3
$array[0] = "sleutel1"
$array[1] = "waarde1"
etc.

vervolgens om en om sleutelx als sleutel van de array geven, dan is de volgende array weer de waarde daarvan, weer de volgende is weer een sleutel, enzovoort.

Kan dit makkelijker? Vast wel.

  • Dryw.Filtiarn
  • Registratie: September 2001
  • Laatst online: 18-03 12:10
Wat dacht je van $array['sleutel'] = waarde ?

Je kunt dit daarna weer uitlezen met:
PHP:
1
2
3
4
5
<?
foreach( $array as $key => $value ) {
   echo "Sleutel ".$key." heeft de waarde: ".$value."<br>\n";
}
?>

=( Protected by witchcraft )=


Verwijderd

Schrijf je bestand weg in de vorm van een php bestand, dan hoef je het alleen nog maar te includen..

Verwijderd

Topicstarter
Ik heb geen MySql ter beschikking. Ik wil dus via een loop de tekst 'sleutelx' als sleutel, en de tekst 'waardex' als waarde :D

  • Dryw.Filtiarn
  • Registratie: September 2001
  • Laatst online: 18-03 12:10
Op zaterdag 26 januari 2002 20:24 schreef GDOG het volgende:
Schrijf je bestand weg in de vorm van een php bestand, dan hoef je het alleen nog maar te includen..
Is op zich ook een handige methode ja, of je maakt gewoon gebruik van een ECHTE database, bijvoorbeeld MySQL.

=( Protected by witchcraft )=


  • Rense Klinkenberg
  • Registratie: November 2000
  • Laatst online: 23:45
Op zaterdag 26 januari 2002 20:27 schreef Dryw.Filtiarn het volgende:
Is op zich ook een handige methode ja, of je maakt gewoon gebruik van een ECHTE database, bijvoorbeeld MySQL.
Sinds wanneer is mySQl en echte database :? Maar da's een beetje erg off-topic.

On-topic: Kijk een naar de file() functie van php. Hiermee wordt een bestand ingelezen en in een array gestopt, met elke regel als een nieuwe rij.

je zou bijvoorbeeld de volgende code kunnen proberen
PHP:
1
2
3
4
5
6
7
8
9
<?
$database = array();
$rawFile = file('......');

foreach ($rawFile as $row) {
    $rowData = explode('|', $row);
    $database[$rowData[0]] = $rowData[1];
}
?>

* Rense Klinkenberg hoopt dat ie het oorspronkelijke probleem goed begrepen heeft ;)

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Op zaterdag 26 januari 2002 20:26 schreef Takar het volgende:
Ik heb geen MySql ter beschikking. Ik wil dus via een loop de tekst 'sleutelx' als sleutel, en de tekst 'waardex' als waarde :D
http://nl.php.net/manual/nl/ref.dbm.php bedoel je dit soms?

Programmer - an organism that turns coffee into software.

Pagina: 1