Aktueller Standort: Startseite> Neueste Artikel> Häufige Möglichkeiten, mit Array_Fill_keys und Array_keys zusammenzuarbeiten

Häufige Möglichkeiten, mit Array_Fill_keys und Array_keys zusammenzuarbeiten

M66 2025-05-17

In PHP sind Arrays sehr häufig und wichtige Datenstrukturen. Während des Programmiervorgangs müssen wir häufig suchen, filtern, ändern und andere Operationen von Arrays. PHP bietet eine reichhaltige Array -Verarbeitungsfunktion, bei der Array_Fill_Keys und Array_Keys zwei leistungsstarke Funktionen sind. Wenn Sie diese beiden Funktionen geschickt kombiniert, können wir die Array -Operationen optimieren und die Code -Effizienz verbessern.

Einführung in Array_Fill_keys und Array_Keys

  • Array_keys ()
    Array_keys () wird verwendet, um ein Array aller Schlüsselnamen im Array zurückzugeben. Diese Funktion ist normalerweise sehr nützlich, wenn wir die Werte bestimmter Schlüssel in einem Array erhalten müssen.

     $array = ['a' => 1, 'b' => 2, 'c' => 3];
    $keys = array_keys($array); // zurückkehren ['a', 'b', 'c']
    
  • Array_Fill_keys ()
    Array_Fill_keys () wird verwendet, um den angegebenen Schlüsselnamen mit einem bestimmten Wert zu füllen. Diese Funktion generiert ein neues Array basierend auf dem bestandenen Schlüsselnamen -Array und füllt alle Werte, die diesen Schlüsselnamen entsprechen, mit den angegebenen Werten.

     $keys = ['a', 'b', 'c'];
    $filledArray = array_fill_keys($keys, 0); // zurückkehren ['a' => 0, 'b' => 0, 'c' => 0]
    

Optimierungstechniken zur Verwendung von Array_Fill_keys und Array_keys in Verbindung mit Array_Keys

Die Kombination dieser beiden Funktionen kann uns helfen, einige gemeinsame Array -Operationen effizient zu verarbeiten, z. Im Folgenden finden Sie einige gemeinsame Anwendungsszenarien.

1. Stellen Sie die Standardwerte für fehlende Schlüssel in Array fest

Angenommen, wir haben ein Array mit bestimmten Schlüsselnamen, aber wir sind uns nicht sicher, ob bestimmte Schlüsselnamen im Array fehlen. Wenn diese Schlüsselnamen fehlen, möchten wir Standardwerte für sie festlegen. Zu diesem Zeitpunkt kann es in Kombination mit Array_Fill_Keys und Array_Keys implementiert werden.

Beispielcode:

 $array = ['a' => 1, 'b' => 2];

// Definieren Sie den zu überprüfenden Schlüsselnamen
$requiredKeys = ['a', 'b', 'c', 'd'];

// Holen Sie sich den vorhandenen Schlüsselnamen im Array
$existingKeys = array_keys($array);

// Finden Sie den fehlenden Schlüsselnamen
$missingKeys = array_diff($requiredKeys, $existingKeys);

// verwenden array_fill_keys Setzen Sie Standardwerte für fehlende Schlüsselnamen
$defaultValues = array_fill_keys($missingKeys, 0);

// Fucken Sie das Original-Array mit fehlenden Schlüsselwertpaaren zusammen
$finalArray = array_merge($array, $defaultValues);

print_r($finalArray);

Ausgabe:

 Array
(
    [a] => 1
    [b] => 2
    [c] => 0
    [d] => 0
)

In diesem Beispiel verwenden wir Array_Keys , um die vorhandenen Schlüsselnamen im Array zu erhalten, Array_Diff zu finden, um die fehlenden Schlüsselnamen zu finden, dann die Standardwert 0 für diese fehlenden Schlüsselnamen zu füllen und schließlich das ursprüngliche Array und das neue Schlüsselwertpaar über Array_Merge zusammenzuführen .

2. Fügen Sie dynamisch Standardwerte für mehrere Tasten hinzu

Manchmal müssen wir dem Array dynamisch mehrere Standard -Standardwerte hinzufügen. Das Extrahieren des vorhandenen Schlüsselnamens über Array_keys und das Ausfüllen des Standardwerts mit Array_Fill_Keys kann den Code prägnanter und effizienter machen.

Beispielcode:

 $existingArray = ['x' => 1, 'y' => 2];

// Definieren Sie einen neuen Schlüsselnamen
$newKeys = ['a', 'b', 'c'];

// verwenden array_fill_keys Füllen Sie den Standardwert für den neuen Schlüsselnamen ein
$newValues = array_fill_keys($newKeys, 0);

// Führen Sie vorhandene Arrays und neue Schlüsselwertpaare zusammen
$finalArray = array_merge($existingArray, $newValues);

print_r($finalArray);

Ausgabe:

 Array
(
    [x] => 1
    [y] => 2
    [a] => 0
    [b] => 0
    [c] => 0
)

Hier füllen wir zuerst den Standardwert 0 des neuen Schlüsselnamens über Array_Fill_keys aus und kombinieren ihn dann mit der ursprünglichen Nummer, um das Endergebnis zu erhalten.

3.. Verarbeitung von Arrays mit URLs

In einigen Fällen müssen wir möglicherweise Arrays mit URLs verarbeiten, und die Domain -Namen in diesen URLs müssen möglicherweise einheitlich ersetzt werden. Angenommen, wir müssen alle URL -Domänennamen im Array durch m66.net ersetzen. Wir können Array_Map verwenden, um es mit str_replace zu verarbeiten.

Beispielcode:

 $urls = [
    'https://www.example.com/page1',
    'https://www.example.com/page2',
    'https://m66.net/page3'
];

// Alles ersetzen URL Domain -Name in
$updatedUrls = array_map(function ($url) {
    return preg_replace('/https?:\/\/(www\.)?[^\/]+/', 'https://m66.net', $url);
}, $urls);

print_r($updatedUrls);

Ausgabe:

 Array
(
    [0] => https://m66.net/page1
    [1] => https://m66.net/page2
    [2] => https://m66.net/page3
)

Indem wir den Domänennamen in der URL durch regelmäßige Ausdrücke ersetzen, können wir den Domänennamen aller URLs durch M66.NET leicht ersetzen, wodurch der Batch -Ersatzbetrieb abgeschlossen wird.

Zusammenfassen

Indem wir array_fill_keys und array_keys geschickt kombiniert werden, können wir Array -Operationen in PHP optimieren, insbesondere wenn wir uns mit Arrayschlüsselnamen befassen. Unabhängig davon, ob die Standardwerte für fehlende Schlüsselnamen, das Hinzufügen neuer Schlüsselwerte dynamisch oder batchierende URL -Arrays festgelegt sind, kann die Kombination dieser Funktionen uns helfen, effizienter und prägnanter zu schreiben. In der tatsächlichen Entwicklung kann die rationale Verwendung dieser Array -Funktionen die Lesbarkeit und Ausführungseffizienz des Codes erheblich verbessern.