In PHP sind Array -Operationen sehr häufige Aufgaben. Insbesondere wenn wir Benutzereingaben oder externe Daten verarbeiten, müssen wir normalerweise das Array reinigen und filtern. In diesem Artikel wird erläutert, wie die Funktionen Array_Filter und Array_Fill_Keys in PHP verwendet werden, um ein gereinigtes Standardarray zu erstellen.
ARRAY_FILTER -Funktion: Diese Funktion kann Elemente in einem Array filtern und bestimmen, welche Elemente basierend auf der angegebenen Rückruffunktion beibehalten oder gelöscht werden müssen. Wenn die Rückruffunktion true zurückgibt, wird das Element beibehalten. Wenn falsch , wird das Element entfernt.
ARRAY_FILL_KEYS -Funktion: Mit dieser Funktion wird ein Array erstellt, den Schlüsselnamen angeben und jedem Schlüsselnamen einen Standardwert zuweisen. Ziel ist es, schnell ein Array mit Standardwerten zu erstellen, insbesondere für die Behandlung bestimmter Szenarien, in denen vordefinierte Schlüsselnamen erforderlich sind.
Durch die Kombination dieser beiden Funktionen können wir bei der Reinigung der Eingabedaten Standardwerte für jeden möglichen Schlüssel bereitstellen, um sicherzustellen, dass das endgültige Array vollständig und kanonisch ist.
Angenommen, wir haben eine vom Benutzer eingereichte Formulardaten, die mehrere Schlüsselwertpaare (wie Name , E-Mail und Alter ) enthält. Wir möchten diese Daten reinigen, ungültige oder Nulldaten entfernen und Standardwerte für fehlende Schlüssel angeben.
Wir werden Array_filter verwenden, um NULL- oder Ungültige Daten und Array_Fill_Keys herauszufiltern, um die Standardwerte für fehlende Schlüssel auszufüllen.
Hier ist ein Beispielcode, der demonstriert, wie dieser Prozess mit Array_filter und array_fill_keys implementiert wird:
<?php
// Angenommen, dies sind die vom Benutzer eingereichten Formulardaten
$userInput = [
'name' => 'John Doe',
'email' => 'johndoe@example.com',
'age' => '', // Nullwert
'address' => null, // Nullwert
];
// Definieren Sie den Standardschlüssel, den wir brauchen
$defaultKeys = ['name', 'email', 'age', 'address'];
// 1. verwenden array_filter Reinigen Sie die Daten
$filteredData = array_filter($userInput, function($value) {
// 过滤掉Nullwert、null Oder leere Zeichenfolge
return !empty($value);
});
// 2. verwenden array_fill_keys Füllen Sie Standardwerte für fehlende Schlüssel ein
$cleanedData = array_fill_keys($defaultKeys, 'default_value');
// 3. Fucken Sie die gefilterten Daten in das Standardarray zusammen
$finalData = array_merge($cleanedData, $filteredData);
// Drucken Sie das Endergebnis aus
print_r($finalData);
?>
Eingabedaten: $ userInput ist ein simuliertes vom Benutzer eingereichter Array, einschließlich Feldern wie Name , E-Mail , Alter und Adresse . Hier lassen wir absichtlich leer oder setzen Sie sich für das Alter und die Adressfelder auf Null ein und simulieren die Situation, in der der Benutzer diese Daten nicht ausgefüllt hat.
Saubere Daten: Wir filtern leere oder ungültige Daten über die Funktion array_filter . In der Rückruffunktion stellt leer ($ value) sicher, dass nur Nicht-Null-Werte aufbewahrt werden.
Füllen Sie den Standardwert aus: Wir verwenden die Funktion array_fill_keys , um einen Standardwert für alle möglichen Schlüssel ( Name , E -Mail , Alter und Adresse ) festzulegen (mit 'default_value' hier). Auf diese Weise werden alle nicht übereinstimmenden Felder automatisch mit dem Standardwert gefüllt.
Merge Array: Verwenden Sie Array_Merge , um die gereinigten Daten mit dem Standardwert zu kombinieren. Bei der Fusion überschreiben gültige Daten in $ filteredData die entsprechenden Elemente im Standardarray.
Das endgültige $ FinalData -Array enthält alle gültigen Benutzereingabedaten und füllt die fehlenden Felder mit Standardwerten. Zum Beispiel:
Array
(
[name] => John Doe
[email] => johndoe@example.com
[age] => default_value
[address] => default_value
)
Durch die Kombination von Array_filter und Array_Fill_Keys können wir Array -Daten effizient verarbeiten, ungültige Daten filtern und angemessene Standardwerte für fehlende Felder bereitstellen. Dieser Ansatz ist sehr nützlich bei der Verarbeitung von Benutzereingaben und externen Daten, um sicherzustellen, dass unsere Programme immer noch stabil ausgeführt werden können, wenn sie unvollständige oder unregelmäßige Daten haben.
<div style = "Border-top: 1px Solid #CCC; Rand: 20px 0;"> </div>Verwandte Links:
Verwandte Tags:
array_filter