Signatur
Beschreibung
dba_key_split() wird verwendet, um einen zusammengesetzten DBA-Schlüssel, der als Zeichenkette vorliegt (z. B. im Format "(key1)(key2)"), in seine Bestandteile aufzuteilen. Das Ergebnis ist ein Array, das die einzelnen Schlüsselkomponenten enthält.
Diese Funktion ist nützlich, wenn mit Datenbank-Abstrationsebenen (DBA) gearbeitet wird, die zusammengesetzte Schlüssel intern als Zeichenketten speichern und diese bei der Verarbeitung wieder in einzelne Komponenten aufgeteilt werden müssen.
Typischerweise wird dba_key_split() in Kombination mit dba_firstkey() oder dba_nextkey() eingesetzt, wenn die zurückgegebenen Schlüssel zusammengesetzt sind und weiterverarbeitet werden sollen.
Wird false als Argument übergeben (z. B. wenn dba_firstkey() keinen Schlüssel mehr liefert), gibt die Funktion ebenfalls false zurück, was eine einfache Verwendung in Schleifen ermöglicht.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $key Pflicht | string|false | Der zusammengesetzte DBA-Schlüssel als Zeichenkette im Format "(komponente1)(komponente2)", oder false (z. B. als Rückgabe von dba_firstkey()/dba_nextkey(), wenn kein weiterer Schlüssel vorhanden ist). |
Rückgabewert
0 enthält die erste Komponente, Index 1 die zweite. Wird false übergeben, gibt die Funktion false zurück.Beispiele
Schlüssel aus DBA-Iteration aufteilen
<?php
// DBA-Datenbankdatei öffnen (DB4-Format als Beispiel)
$db = dba_open('/tmp/test.db', 'n', 'db4');
// Zusammengesetzten Schlüssel einfügen
dba_insert('(vorname)(nachname)', 'Max Mustermann', $db);
// Schlüssel iterieren und aufteilen
$key = dba_firstkey($db);
while ($key !== false) {
$parts = dba_key_split($key);
if ($parts !== false) {
echo 'Komponente 1: ' . $parts[0] . PHP_EOL;
echo 'Komponente 2: ' . $parts[1] . PHP_EOL;
}
$key = dba_nextkey($db);
}
dba_close($db);
Direktes Aufteilen eines Schlüssel-Strings
<?php
// Direktes Aufteilen eines zusammengesetzten Schlüssels
$key = '(artikel)(kategorie)';
$parts = dba_key_split($key);
if ($parts !== false) {
var_dump($parts);
}
// Umgang mit false (kein weiterer Schlüssel)
$result = dba_key_split(false);
var_dump($result);
// Wichtig · Fallstricke
Verfügbarkeit: dba_key_split() steht nur zur Verfügung, wenn PHP mit DBA-Unterstützung kompiliert wurde. Nicht alle DBA-Handler unterstützen zusammengesetzte Schlüssel – prüfen Sie die Dokumentation des jeweiligen Handlers.
Format: Das erwartete Schlüsselformat ist (komponente1)(komponente2) mit runden Klammern als Trennzeichen. Schlüssel ohne dieses Format werden möglicherweise nicht korrekt aufgeteilt.
Die Funktion ist relativ selten im Einsatz und primär für DBM-artige Datenbanken relevant, die zusammengesetzte Schlüssel unterstützen.