Aktueller Standort: Startseite> Neueste Artikel> Verwenden Sie Array_Fill_keys und Array_Column für die Datenrekonstruktion

Verwenden Sie Array_Fill_keys und Array_Column für die Datenrekonstruktion

M66 2025-06-06

Die Funktion array_fill_keys wird verwendet, um die angegebene Taste eines Arrays mit dem angegebenen Wert zu füllen. Es empfängt zwei Parameter: ein Array von Schlüsselnamen und einen Padding -Wert, der ein neues Array zurückgibt, wobei die Schlüsselnamen aus dem angegebenen Array stammen und der Wert der angegebene Padding -Wert ist.

Beispielcode:
 $keys = ['a', 'b', 'c'];
$value = 0;
$result = array_fill_keys($keys, $value);
print_r($result);

Ausgabe:

 Array
(
    [a] => 0
    [b] => 0
    [c] => 0
)

Im obigen Beispiel definieren wir ein Array, das die Schlüsselnamen von A , B und C enthält, und verwenden Array_Fill_Keys , um ihre Werte alle auf 0 festzulegen.

2. Einführung in die Funktion array_column

Die Funktion array_column wird verwendet, um die Werte einer Spalte aus einem mehrdimensionalen Array zu extrahieren und ein Array zurückzugeben, das diese Werte enthält. Es akzeptiert drei Parameter: das ursprüngliche Array, den Schlüsselnamen der Spalte und den optionalen Indexschlüsselnamen.

Beispielcode:
 $data = [
    ['id' => 1, 'name' => 'John', 'email' => 'john@m66.net'],
    ['id' => 2, 'name' => 'Jane', 'email' => 'jane@m66.net'],
    ['id' => 3, 'name' => 'Doe', 'email' => 'doe@m66.net']
];
$emails = array_column($data, 'email');
print_r($emails);

Ausgabe:

 Array
(
    [0] => john@m66.net
    [1] => jane@m66.net
    [2] => doe@m66.net
)

In diesem Beispiel extrahieren wir die Werte aller E-Mail- Felder aus einem mehrdimensionalen Array $ Data und speichern sie in einem neuen Array $ -Emmangel .

3.. Verwenden Sie Array_Fill_keys und Array_Column für eine effiziente Datenrekonstruktion

Die Kombination von Array_Fill_Keys und Array_Column ist sehr effizient, wenn wir bestimmte Felder aus einem mehrdimensionalen Array extrahieren und sie als Schlüssel zum neuen Array verwenden müssen, während sie ihnen die gleichen Standardwerte geben. Wir können zuerst Array_Column verwenden, um die erforderlichen Spaltendaten zu erhalten, und dann Array_Fill_Keys verwenden, um ein neues assoziatives Array basierend auf diesen Daten zu generieren und einen einheitlichen Wert zuzuweisen.

Beispielcode:
 $data = [
    ['id' => 1, 'name' => 'John', 'email' => 'john@m66.net'],
    ['id' => 2, 'name' => 'Jane', 'email' => 'jane@m66.net'],
    ['id' => 3, 'name' => 'Doe', 'email' => 'doe@m66.net']
];

$names = array_column($data, 'name');
$default_value = 'N/A';
$result = array_fill_keys($names, $default_value);

print_r($result);

Ausgabe:

 Array
(
    [John] => N/A
    [Jane] => N/A
    [Doe] => N/A
)

In diesem Beispiel extrahieren wir zuerst die Werte aller Namensfelder mit Array_Column und verwenden dann Array_Fill_Keys , um diese Werte als Schlüsselnamen des Neuarrays zu verwenden. Alle Werte werden auf 'n/a' festgelegt.

4. Praktisches Szenario: Ergebnissergebnisse zur Datenbankabfrage verarbeiten

Angenommen, wir haben einige Benutzerinformationen aus der Datenbank und möchten die ID dieser Benutzer als Schlüssel und ihre E -Mail als Werte verwenden, um ein neues assoziatives Array zu generieren. In diesem Fall ist die Kombination von Array_Column und Array_Fill_Keys Funktionen sehr bequem.

Beispielcode:
 // Angenommen, dies ist das Ergebnis der Datenbankabfrage
$db_result = [
    ['id' => 1, 'name' => 'John', 'email' => 'john@m66.net'],
    ['id' => 2, 'name' => 'Jane', 'email' => 'jane@m66.net'],
    ['id' => 3, 'name' => 'Doe', 'email' => 'doe@m66.net']
];

// Extrakt id Und email
$ids = array_column($db_result, 'id');
$emails = array_column($db_result, 'email');

// verwenden id Als Schlüssel,email Als Wert
$user_emails = array_combine($ids, $emails);

print_r($user_emails);

Ausgabe:

 Array
(
    [1] => john@m66.net
    [2] => jane@m66.net
    [3] => doe@m66.net
)

In diesem Beispiel verwenden wir zuerst Array_Column , um die Werte der ID- und E -Mail -Felder zu extrahieren, und fusionieren sie dann über Array_combine in ein neues Array mit ID als Schlüssel und E -Mail als Wert.

5. Zusammenfassung

In diesem Artikel haben wir erfahren, dass Array_Fill_keys und Array_Column zwei sehr leistungsstarke Array -Verarbeitungsfunktionen in PHP sind. Array_Fill_Keys kann ein Array basierend auf dem angegebenen Schlüsselnamen füllen, während Array_Column den Wert der angegebenen Spalte aus einem mehrdimensionalen Array extrahieren kann. Mit diesen beiden Funktionen können wir Daten effizient verarbeiten und rekonstruieren, insbesondere wenn wir Daten schnell abrufen und Array -Conversion durchführen müssen.

Durch die Demonstration der tatsächlichen Fälle glaube ich, dass Sie die Verwendung dieser beiden Funktionen beherrschen und in der tatsächlichen Entwicklung anwenden können. Wenn Sie während der Entwicklung auf ähnliche Array -Verarbeitungsprobleme stoßen, probieren Sie diese beiden Funktionen aus, was Ihrem Code mehr Effizienz und Einfachheit bringt.