Mit log() bietet PHP eine zentrale Funktion zur Berechnung des Logarithmus einer Zahl. In diesem Artikel lernst du, wie du log() richtig und effizient in deinen Projekten einsetzt. Du erhältst fundiertes Hintergrundwissen und praktische Beispiele für typische Anwendungsfälle.

1. Einleitung: Was ist die PHP log() Funktion?
Mit log() stellst du in PHP den Logarithmus einer Zahl fest – und zwar automatisch als natürlichen Logarithmus zur Basis e (etwa 2.71828). Sobald du Vorgänge wie exponentielles Wachstum oder Zerfall programmierst, nutzt du Logarithmen als zentrales Werkzeug.
2. Grundlagen des Logarithmus (Kurz und Verständlich)
Bevor du log() gezielt einsetzt, solltest du das mathematische Konzept des Logarithmus verstehen.
Ein Logarithmus ist die Umkehrung einer Potenzfunktion. Wenn gilt b^x = y, dann ist log_b(y) = x. Der Logarithmus beantwortet die Frage: Mit welchem Exponenten muss ich die Basis potenzieren, um einen bestimmten Wert zu erhalten?
Der natürliche Logarithmus nutzt als Basis die Eulersche Zahl e (etwa 2.71828). Diese Zahl spielt in vielen mathematischen und naturwissenschaftlichen Bereichen eine zentrale Rolle. Deshalb ist sie auch die Standardbasis bei log() in PHP.
Der dekadische Logarithmus arbeitet mit der Basis 10. Er wird in vielen technischen und wissenschaftlichen Bereichen verwendet.
Mit log() kannst du auch andere Basen angeben. So berechnest du beliebige Logarithmen.
3. Syntax der PHP log() Funktion
Die genaue Syntax und die Bedeutung der Parameter sind entscheidend für den korrekten Einsatz der Funktion.
float log(float $fZahl, ?float $fBasis = M_E)
Parameter | Beschreibung |
$fZahl | Die Zahl, deren Logarithmus berechnet werden soll (Pflichtparameter) |
$fBasis | (Optional) Die Basis für den Logarithmus. Standardwert ist die Eulersche Zahl (M_E) |
Rückgabewert | float – der Logarithmus von $fZahl zur angegebenen Basis |
Wenn du keine Basis angibst, verwendet PHP automatisch e. Du kannst aber auch jede positive Basis größer als 0 und ungleich 1 angeben.
4. Verwendung der log() Funktion: Praktische Beispiele
Die folgenden Beispiele zeigen verschiedene typische Einsatzmöglichkeiten.
4.1. Den natürlichen Logarithmus berechnen (Standardverhalten)
Rufst du log() ohne zweite Angabe auf, berechnet PHP den natürlichen Logarithmus.
$fErgebnis = log(10);
echo $fErgebnis;
/**
* Gibt ungefähr 2.302585092994 zurück.
* Das bedeutet: e hoch 2.30 ergibt etwa 10.
*/
Die Funktion exp() ist die Umkehrung zu log():
$fWert = exp(log(10));
echo $fWert;
/**
* Gibt wieder 10 zurück.
*/
4.2. Logarithmus zu einer spezifischen Basis berechnen
Mit Angabe des zweiten Parameters nutzt du eine andere Basis.
$fErgebnis = log(100, 10);
echo $fErgebnis;
/**
* Gibt 2 zurück, denn 10^2 = 100.
*/
$fErgebnis = log(8, 2);
echo $fErgebnis;
/**
* Gibt 3 zurück, denn 2^3 = 8.
*/
Auch ungewöhnliche Basen wie 1.5 oder 7 sind möglich, solange die Basis größer als 0 und nicht 1 ist.
4.3. Typische Anwendungsfälle in der PHP-Programmierung
Logarithmen werden in vielen Bereichen gebraucht:
- Skalierung von Daten für Diagramme, wenn Werte stark schwanken
- Wachstums- und Zerfallsmodelle in Wissenschaft, Biologie oder Physik
- Finanzmathematische Berechnungen, zum Beispiel beim Zinseszins
5. Fehlerbehandlung und Randfälle
log() gibt bei Grenzfällen spezielle Werte zurück, die du beachten solltest.
5.1. Logarithmus von 0 (log(0))
$fErgebnis = log(0);
/**
* $fErgebnis ist INF (unendlich)
* Mathematisch strebt der Logarithmus von 0 gegen minus unendlich
*/
5.2. Logarithmus von negativen Zahlen (log(-x))
$fErgebnis = log(-1);
/**
* $fErgebnis ist NAN (Not A Number)
* Für negative Zahlen ist der Logarithmus im Bereich der reellen Zahlen nicht definiert
*/
5.3. Ungültige Basen (z.B. base <= 0 oder base = 1)
$fErgebnis = log(100, -2);
/**
* $fErgebnis ist NAN, weil die Basis negativ ist
*/
$fErgebnis = log(100, 1);
/**
* $fErgebnis ist NAN, da die Basis 1 mathematisch nicht zulässig ist
*/
Die Basis muss größer als 0 und verschieden von 1 sein. Bei ungültigen Werten gibt PHP eine Warnung aus und liefert NAN.
5.4. Prüfung auf NAN und INF für robuste Anwendungen
Prüfe Ergebnisse von log() immer auf INF oder NAN, bevor du weiterrechnest.
if (is_nan($fErgebnis) || is_infinite($fErgebnis)) {
/** Hier solltest du eine Fehlerbehandlung einbauen */
}
6. Abgrenzung und Verwandte Mathematische Funktionen
In vielen Situationen brauchst du ähnliche oder verwandte Funktionen.
6.1. log10(): Der Zehnerlogarithmus
Die Funktion log10() berechnet direkt den Logarithmus zur Basis 10.
$fErgebnis = log10(1000);
/**
* Gibt 3 zurück, denn 10^3 = 1000.
*/
Verwende log10(), wenn du immer Basis 10 brauchst. Sie ist präziser und direkter als log(x, 10).
6.2. exp(): Die Exponentialfunktion zur Basis e
Mit exp() erhältst du die Umkehrfunktion zu log().
$fErgebnis = exp(2);
/**
* Gibt etwa 7.389056 zurück.
*/
exp(log(x)) ergibt wieder x.
6.3. pow(): Allgemeine Potenzfunktion
Mit pow() berechnest du beliebige Potenzen.
$fErgebnis = pow(2, 3);
/**
* Gibt 8 zurück, denn 2^3 = 8.
*/
pow() ist das Gegenstück zu log(x, basis).
7. PHP Versionskompatibilität
Den zweiten Parameter für die Basis gibt es ab PHP 4.3. In allen modernen PHP-Versionen (PHP 7, PHP 8) kannst du log() wie beschrieben verwenden. In alten PHP-Versionen steht nur der natürliche Logarithmus zur Verfügung.
8. Fazit und Best Practices
log() ist eine wichtige mathematische Funktion in PHP, wenn du Logarithmen berechnen willst – standardmäßig zur Basis e, aber auch zu jeder beliebigen positiven Basis (ungleich 1). Du solltest die mathematischen Grundlagen kennen und immer auf Grenzfälle wie NAN oder INF prüfen. Für Basis 10 empfiehlt sich log10(), bei Potenzen pow() und für die Exponentialfunktion exp(). Wer diese Zusammenhänge versteht, kann mathematische und technische Probleme in PHP elegant und sicher lösen.