Bei der täglichen PHP -Entwicklung müssen wir häufig die Anfangswerte für Arrays festlegen, insbesondere wenn sie die Datenverarbeitungsdaten verarbeiten, Schnittstellenantwortstrukturen erstellen oder Datenstrukturen initialisieren, ist die manuelle Zuordnung nicht nur langwierig, sondern auch anfällig für Fehler. Zu diesem Zeitpunkt ist die integrierte Funktion von PHP ein sehr nützliches Werkzeug. Es kann uns dabei helfen, Arrays schnell zu füllen, die Entwicklungseffizienz zu verbessern und den Code lesbarer und aufrechterhalten zu gestalten.
Array_Fill () ist eine von PHP bereitgestellte Array -Funktion, um ein Array mit dem angegebenen Wert zu füllen.
array array_fill(int $start_index, int $count, mixed $value)
$ start_index : Der Index des ersten Elements im Array.
$ count : Wie viele Elemente zu füllen.
$ Wert : Der zum Füllen verwendete Wert.
Diese Funktion gibt ein Array von $ Count -Elementen zurück und beginnt mit $ start_index .
// Erstellen Sie einen Container 5 Elemente,Alle Anfangswerte sind 0 Array von
$defaultArray = array_fill(0, 5, 0);
print_r($defaultArray);
Ausgabe:
Array
(
[0] => 0
[1] => 0
[2] => 0
[3] => 0
[4] => 0
)
Diese Methode eignet sich besonders für die Initialisierung von Bewertungen, Statusmarkierung, Berechtigungsbits und anderen Strukturen.
Wir müssen häufig eine anfängliche Struktur für mehrere Benutzer, Produkte oder Module vorbereiten. Array_Fill () kombiniert mit Array_Map () oder Looping kann diesen Vorgang vereinfachen.
$userIds = [101, 102, 103];
// Generieren Sie für jeden Benutzer einen anfänglichen Datensatz für jeden Benutzer
$defaults = array_fill(0, count($userIds), [
'score' => 0,
'status' => 'pending',
'profile_url' => 'https://m66.net/user/profile'
]);
// verwenden array_combine Übersetzen Sie den Benutzer ID Mit dem Standardwert verbunden
$userData = array_combine($userIds, $defaults);
print_r($userData);
Ausgabe:
Array
(
[101] => Array
(
[score] => 0
[status] => pending
[profile_url] => https://m66.net/user/profile
)
[102] => Array
(
[score] => 0
[status] => pending
[profile_url] => https://m66.net/user/profile
)
[103] => Array
(
[score] => 0
[status] => pending
[profile_url] => https://m66.net/user/profile
)
)
Dies erleichtert einfach, eine konsistente anfängliche Datenstruktur für mehrere Benutzer zu erstellen, ohne die Werte einzeln zuweisen zu müssen.
Wenn Sie möchten, dass jede Struktur dynamische Daten enthält, wie z. B. eine andere URL oder Identität, können Sie Array_map () verwenden, um mit der Generation zusammenzuarbeiten.
$userIds = [201, 202, 203];
$userData = array_map(function($id) {
return [
'score' => 0,
'status' => 'new',
'profile_url' => "https://m66.net/user/profile?id={$id}"
];
}, $userIds);
// Benutzer zu halten ID Als Schlüsselname
$userData = array_combine($userIds, $userData);
print_r($userData);
In der Ausgabe spleißt jeder Profil_url die ID des Benutzers automatisch, was die Struktur flexibler macht.
Benutzereinstellungen initialisieren;
Batch populiert die Standardfelder für die Schnittstellenantwort.
Testdaten oder Simulationsdaten generieren;
Erstellen Sie eine Zustandsmatrix oder eine Berechtigungstabelle.
Array_Fill () ist eine sehr praktische Funktion, die viele Menschen ignorieren. Es kann uns helfen, Daten schnell und anmutig mit wiederholten Strukturen zu generieren und die Datenverarbeitungslogik stark zu vereinfachen. Bei Verwendung mit Funktionen wie Array_combine () und array_map () können komplexe Array -Strukturen auch leicht zu steuern. Wenn Sie das nächste Mal Standardwerte einer Datenstapel zuweisen müssen, vergessen Sie nicht, diese Funktion auszuprobieren.