Aktueller Standort: Startseite> Neueste Artikel> Wie konstruiere ich schnell ein komplexes mehrdimensionales Array mit Array_Fill () mit Array_merge ()?

Wie konstruiere ich schnell ein komplexes mehrdimensionales Array mit Array_Fill () mit Array_merge ()?

M66 2025-06-13

In PHP müssen wir häufig komplexe mehrdimensionale Arrays konstruieren. Durch die integrierten Funktionen Array_Fill () und Array_merge () von PHP können wir diese Aufgabe effizient erledigen. Heute werden wir untersuchen, wie diese beiden Funktionen verwendet werden, um komplexe mehrdimensionale Arrays schnell zu konstruieren.

1. Einführung in die Funktion array_fill ()

Die Funktion array_fill () wird verwendet, um ein Array zu erstellen und jedes Element mit dem angegebenen Wert zu füllen. Diese Funktion ist sehr geeignet, um Arrays mit denselben Werten zu konstruieren. Die grundlegende Syntax ist wie folgt:

 array_fill($start_index, $num, $value);
  • $ start_index : Gibt den Startindex des Fill -Arrays an.

  • $ num : Gibt die Anzahl der Elemente im Array an.

  • $ Wert : Der Wert, um das Array zu füllen.

Beispielsweise erstellt der folgende Code ein Array von Länge 5, wobei jedes Element einen Wert von "PHP" hat:

 $filled_array = array_fill(0, 5, 'PHP');
print_r($filled_array);

Ausgabe:

 Array
(
    [0] => PHP
    [1] => PHP
    [2] => PHP
    [3] => PHP
    [4] => PHP
)

2. Einführung in die Funktion array_merge ()

Die Funktion array_merge () wird verwendet, um ein oder mehrere Arrays in ein Array zu kombinieren. Es fügt ein neues Array alle Elemente des Arrays hinzu und gibt ein neues Array mit allen Elementen zurück. Die grundlegende Syntax ist wie folgt:

 array_merge($array1, $array2, ...);
  • $ array1, $ array2, ... : Ein oder mehrere Arrays, die zusammengeführt werden müssen.

Das folgende Codebeispiel zeigt, wie zwei Arrays mit Array_merge () zusammengeführt werden:

 $array1 = [1, 2];
$array2 = [3, 4];
$merged_array = array_merge($array1, $array2);
print_r($merged_array);

Ausgabe:

 Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
)

3. Wie erstellt man komplexe mehrdimensionale Arrays in Kombination mit Array_Fill () und array_merge () ?

Arrays, die von Array_Fill () erstellt wurden, können als Eingabe für Array_merge () verwendet werden, um ein komplexeres mehrdimensionales Array zu erstellen. Hier ist ein konkretes Beispiel: Angenommen, wir müssen ein mehrdimensionales Array erstellen, das mehrere Sätze derselben Daten enthält, wobei jeder Datensatz dieselbe Struktur hat, der Inhalt jedoch geringfügig unterschiedlich ist.

Beispiel: Erstellen eines mehrdimensionalen Arrays

Wir verwenden Array_Fill (), um die Standardwerte für jedes Subtarray zu initialisieren und dann Array_merge () zu verschmelzen, um sie schließlich ein komplexes mehrdimensionales Array zu erstellen.

 <?php
// verwenden array_fill Erstellen Sie mehrere Unterarrays derselben Struktur
$defaultValues = array_fill(0, 3, 'default');  // Erstellen Sie einen Container 3 indival 'default' Array von

// Erstellen Sie verschiedene Daten
$group1 = array_merge(['group' => 'group1'], $defaultValues);
$group2 = array_merge(['group' => 'group2'], $defaultValues);
$group3 = array_merge(['group' => 'group3'], $defaultValues);

// 合并成一indival多维数组
$complexArray = [$group1, $group2, $group3];

print_r($complexArray);
?>

Ausgabe:

 Array
(
    [0] => Array
        (
            [group] => group1
            [0] => default
            [1] => default
            [2] => default
        )

    [1] => Array
        (
            [group] => group2
            [0] => default
            [1] => default
            [2] => default
        )

    [2] => Array
        (
            [group] => group3
            [0] => default
            [1] => default
            [2] => default
        )
)

In diesem Beispiel wird Array_Fill () verwendet , um jede Gruppe mit demselben Standardwert zu füllen. Wir fügen auch eine andere Kennung für jede Gruppe Group1 , Group2 , Group3 hinzu, so dass jede Subtarray eine eindeutige Identität hat.

4. Ersetzen Sie das Beispiel durch URL

Angenommen, wir möchten ein Array mit mehreren URLs erstellen und alle Domainnamen durch m66.net ersetzen. Wir können zuerst Array_Fill () verwenden, um ein Array mit mehreren Standard -URLs zu erstellen, und dann jede URL über Array_Map () verarbeiten, um den Domänennamenteil zu ersetzen.

 <?php
// Erstellen Sie einen Container多indival URL Array von
$urls = array_fill(0, 3, 'http://example.com/path/to/resource');

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

print_r($updatedUrls);
?>

Ausgabe: