In der PHP -Programmierung begegnen Sie häufig Situationen, in denen Sie ein Array initialisieren müssen. Besonders beim Umgang mit einigen serialisierten Arrays kann die manuelle Initialisierung eines Arrays sehr umständlich und fehleranfällig sein. Glücklicherweise bietet PHP einige integrierte Funktionen, mit denen wir diese Arrays effizienter initialisieren können. Unter ihnen sind Range und Array_Fill_Keys zwei sehr nützliche Funktionen, die uns helfen können, schnell serialisierte Arrays zu erstellen und die Entwicklungseffizienz zu verbessern.
Ein serialisiertes Array bezieht sich auf ein Array, dessen Elemente Tasten haben, die kontinuierlich sind und normalerweise von einem bestimmten Anfangswert starten, erhöhen oder abnehmen. Beispielsweise ist Array [1, 2, 3, 4, 5] ein typisches serialisiertes Array. Normalerweise müssen wir solche Arrays automatisch auf eine bestimmte Weise generieren, ohne jedes Element manuell schreiben zu müssen.
In PHP kann die Bereichsfunktion verwendet werden, um ein Array bestimmter Bereiche zu erstellen. Es akzeptiert drei Parameter:
Start : Der Startwert der Sequenz
Ende : Der Endwert der Sequenz
Schritt : Schrittwert (optional, Standard ist 1)
Die Verwendung von Bereich kann beispielsweise schnell ein Array von 1 bis 10 erstellen:
$rangeArray = range(1, 10);
print_r($rangeArray);
Das Ausgangsergebnis ist:
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
[5] => 6
[6] => 7
[7] => 8
[8] => 9
[9] => 10
)
Wie Sie sehen können, erstellt die Bereichsfunktion erfolgreich ein Array von 1 bis 10, wobei der Wert jedes Elements um 1 erhöht wird.
Die Funktion array_fill_keys wird verwendet, um ein neues Array basierend auf dem angegebenen Schlüssel zu erstellen und jedem Schlüssel denselben Wert zuzuweisen. Es akzeptiert zwei Parameter:
Schlüssel : Die Schlüssel eines Arrays, das ein Array oder eine Zeichenfolge sein kann.
Wert : Der Wert, der jedem Schlüssel zugewiesen werden soll.
Wenn wir beispielsweise ein Array erstellen möchten, das mehrere Schlüssel enthält und jeder Schlüssel einen Wert von true hat, können wir Array_Fill_keys verwenden:
$keys = ['a', 'b', 'c', 'd'];
$value = true;
$filledArray = array_fill_keys($keys, $value);
print_r($filledArray);
Das Ausgangsergebnis ist:
Array
(
[a] => 1
[b] => 1
[c] => 1
[d] => 1
)
Die Funktion array_fill_keys initialisiert jeden angegebenen Schlüssel zum gleichen Wert und verbessert die Effizienz der Initialisierung des Arrays.
Wir können die Funktionen von Bereich und Array_Fill_Keys kombinieren, um ein serialisiertes Array schnell zu initialisieren und den angegebenen Wert auszufüllen. Angenommen, wir möchten ein Array von 1 bis 10 erstellen und jedes Element hat einen Wert von True , können wir den folgenden Code verwenden:
$keys = range(1, 10);
$filledArray = array_fill_keys($keys, true);
print_r($filledArray);
Das Ausgangsergebnis ist:
Array
(
[1] => 1
[2] => 1
[3] => 1
[4] => 1
[5] => 1
[6] => 1
[7] => 1
[8] => 1
[9] => 1
[10] => 1
)
Wie Sie sehen können, generiert die Bereichsfunktion zuerst Zahlen von 1 bis 10, und dann nimmt Array_Fill_Keys diese Zahlen als Schlüssel und initialisiert den Wert jedes Schlüssels für True .
Angenommen, wir müssen eine Charge von URL -Adressen verarbeiten und ihre Domain -Namen einheitlich ändern. Wir können Bereiche und Array_Fill_Keys verwenden, um ein serialisiertes Array zu generieren und den Domänennamen in der URL nach Bedarf zu ersetzen. Hier ist ein Beispiel unter der Annahme, dass wir den Domänennamen in mehreren URLs von example.com auf m66.net ersetzen müssen.
$urls = [
'https://example.com/page1',
'https://example.com/page2',
'https://example.com/page3',
];
$updatedUrls = array_map(function($url) {
return preg_replace('/https:\/\/example\.com/', 'https://m66.net', $url);
}, $urls);
print_r($updatedUrls);
Das Ausgangsergebnis ist:
Array
(
[0] => https://m66.net/page1
[1] => https://m66.net/page2
[2] => https://m66.net/page3
)
In diesem Beispiel verwenden wir die Funktion array_map , um alle URL -Adressen zu verarbeiten und den Domänennamen durch m66.net zu ersetzen.
Mit Range und Array_Fill_Keys -Funktionen können Sie serialisierte Arrays schnell initialisieren, wodurch der Aufwand des manuellen Schreibens von Array -Elementen und die Verbesserung der Programmierungseffizienz reduziert wird. In Kombination mit Preg_Replace oder anderen Methoden können Domänennamen -Ersatzaufgaben in URLs effizient behandelt werden, wodurch die Einfachheit und Wartbarkeit des Codes weiter verbessert werden kann.