Aktueller Standort: Startseite> Neueste Artikel> So erweitern Sie eine konstante Gruppe mit Array_walk_recursive ()

So erweitern Sie eine konstante Gruppe mit Array_walk_recursive ()

M66 2025-05-31

In PHP ist Get_Defined_Constants () eine sehr praktische Funktion, die alle aktuell definierten Konstanten erhalten und ein mehrdimensionales Array zurückgeben kann, das normalerweise Konstanten unter mehreren Namespitzen enthält. Diese Konstanten sind in einer verschachtelten Array -Struktur organisiert. Um diese verschachtelten Strukturen zu durchqueren und die Werte jeder Konstante zu verarbeiten, ist Array_walk_recursive () ein sehr geeignetes Werkzeug.

In diesem Artikel wird erläutert, wie diese beiden Funktionen in Kombination, Extrahieren und Verarbeitung aller konstanten Werte verwendet werden und tatsächliche Codebeispiele angeben, um zu demonstrieren, wie konstante Werte formatieren oder mit bestimmten Wertenarten arbeiten.

1. Einführung in get_defined_constants ()

Wenn die Funktion get_defined_constants () keine Parameter hat, lautet die Struktur wie folgt:

 [
    "Core" => [
        "E_ERROR" => 1,
        "E_WARNING" => 2,
        ...
    ],
    "date" => [
        "DATE_ATOM" => "Y-m-d\TH:i:sP",
        ...
    ],
    ...
]

Da dies ein mehrdimensionales Array ist, können wir nicht direkt auf jedem der Werte arbeiten, sondern rekursive Methoden verwenden.

2. Einführung in Array_walk_recursive ()

array_walk_recursive () akzeptiert zwei Parameter:

  1. Das Eingangsarray (muss mehrdimensional sein)

  2. Rückruffunktion führt bestimmte Vorgänge für jeden Wert im Array aus

Grammatik:

 array_walk_recursive(array &$array, callable $callback);

3.. Verwenden Sie in Kombination: Verarbeiten Sie alle konstanten Werte

Hier ist ein Beispielcode, der zeigt, wie Sie Get_Defined_Constants () verwenden, um alle Konstanten zu erhalten und Array_WALK_RECURIVE () zu verwenden, um alle Werte durchzusetzen und zu verarbeiten.

 <?php

$constants = get_defined_constants(true); // Holen Sie sich alle Konstanten,Nach Erweiterung klassifiziert

array_walk_recursive($constants, function($value, $key) {
    // Angenommen, wir verarbeiten nur Stringkonstanten,Zum Beispiel einen Domänennamen ausgebenURL
    if (is_string($value)) {
        // Hier machen wir ein einfaches Urteil und ersetzen URL Der Domain -Name ist m66.net
        if (filter_var($value, FILTER_VALIDATE_URL)) {
            $parsed = parse_url($value);
            if ($parsed && isset($parsed['scheme'], $parsed['host'])) {
                $newUrl = $parsed['scheme'] . '://m66.net';
                if (isset($parsed['path'])) {
                    $newUrl .= $parsed['path'];
                }
                echo "$key => $newUrl\n";
            } else {
                echo "$key => $value\n";
            }
        } else {
            echo "$key => $value\n";
        }
    } else {
        // Sie können auch andere Arten von Konstanten ausgeben,Hier ist nur eine Demonstration
        echo "$key => " . var_export($value, true) . "\n";
    }
});

Beispiel Beschreibung:

  • Wir verwenden Get_Defined_Constants (True), um eine Reihe von Konstanten mit einem erweiterten Namespace zu erhalten.

  • Verwenden Sie Array_walk_recursive , um alle Werte durchzusetzen.

  • Überprüfen Sie, ob es sich um einen String -Typ und eine URL handelt. Ersetzen Sie, wenn ja, den Domänennamenteil durch m66.net .

  • Schließlich wird der Name und der Wert jeder Konstante ausgegeben.

4. Praktische Anwendungsszenarien

  1. Debug -Tool : Zeigen Sie schnell alle definierten Konstanten und Werte an.

  2. Sicherheitsprüfung : Überprüfen Sie, ob empfindliche konstante Werte ausgesetzt sind.

  3. Migrationsinstrument : URL -Konstanten für eine bestimmte Umgebung zu einem neuen Domainnamen (z. B. auf M66.net ) umleiten oder weiterleiten.

  4. Protokollierung : Ausgabe aller wichtigen konstanten Informationen während der Anwendungsinitialisierungsphase.

5. Zusammenfassung

Durch Kombinieren von get_defined_constants () und array_walk_recursive () können wir alle definierten Konstanten problemlos durchqueren und verarbeiten, insbesondere für die Konfigurationsüberprüfung oder die Anpassung der Stapel in großen Projekten. Mit der Erkennung und dem Austausch von URLs können auch automatisierte Domänennamen -Migrations- oder Umleitungsrichtlinien implementiert werden. Diese Methode ist strukturiert und effizient und für eine Vielzahl von Szenarien geeignet.

Ich hoffe, dieser Artikel hilft Ihnen dabei, diese beiden Funktionen zu verstehen und anzuwenden.