Signatur
Beschreibung
dbase_numfields() ermittelt die Gesamtzahl der Felder (Spalten) in einer geöffneten dBase-Datenbank. Sie wird typischerweise eingesetzt, um die Struktur einer .dbf-Datei dynamisch auszulesen, ohne vorher die genaue Spaltenanzahl kennen zu müssen.
Die Funktion ist vor allem dann nützlich, wenn man in Kombination mit dbase_get_record() oder dbase_get_record_with_names() alle Felder eines Datensatzes iterativ verarbeiten möchte. Die zurückgegebene Zahl kann als Obergrenze für feldindexbasierte Schleifen genutzt werden.
Die dBase-Erweiterung arbeitet mit alten .dbf-Dateien im dBase III/IV-Format und ist für Legacy-Anwendungen vorgesehen. In modernen PHP-Projekten sollte nach Möglichkeit auf aktuellere Datenbankschnittstellen zurückgegriffen werden, da die dBase-Erweiterung als veraltet gilt.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $database Pflicht | resource | Eine gültige dBase-Datenbankressource, die zuvor mit dbase_open() oder dbase_create() geöffnet bzw. erstellt wurde. |
Rückgabewert
false zurück.Beispiele
Anzahl der Felder einer dBase-Datei ausgeben
<?php
// dBase-Datei im Lesemodus öffnen
$db = dbase_open('/pfad/zu/meiner_datenbank.dbf', 0);
if ($db !== false) {
$anzahlFelder = dbase_numfields($db);
echo "Diese Datenbank hat " . $anzahlFelder . " Felder.\n";
dbase_close($db);
} else {
echo "Datenbankdatei konnte nicht geöffnet werden.\n";
}
?>
Alle Feldinformationen dynamisch auslesen
<?php
$db = dbase_open('/pfad/zu/meiner_datenbank.dbf', 0);
if ($db !== false) {
$anzahlFelder = dbase_numfields($db);
echo "Felder in der Datenbank: " . $anzahlFelder . "\n";
// Feldinformationen für jedes Feld ausgeben
for ($i = 0; $i < $anzahlFelder; $i++) {
$feldInfo = dbase_field_info($db, $i);
echo "Feld " . ($i + 1) . ": " . $feldInfo['name']
. " (Typ: " . $feldInfo['type'] . ")\n";
}
dbase_close($db);
}
?>
// Wichtig · Fallstricke
Veraltete Erweiterung: Die dBase-Erweiterung (dbase) ist eine PECL-Erweiterung für das veraltete dBase-Datenbankformat. Sie wird in modernen Projekten kaum noch eingesetzt und ist standardmäßig nicht in PHP enthalten – sie muss separat installiert werden.
Stellen Sie vor dem Aufruf immer sicher, dass die Datenbankressource gültig ist, da die Funktion bei ungültiger Ressource einen Fehler erzeugen oder false zurückgeben kann.