In PHP werden Array_combine () und Compact () häufig verwendete Array -Betriebsfunktionen und sie haben jeweils unterschiedliche Funktionen und Anwendungsszenarien. In diesem Artikel wird die Unterschiede zwischen diesen beiden Funktionen und den Szenarien, die sie für die Verwendung geeignet sind, ausführlich analysiert.
Die Funktion array_combine () wird verwendet, um zwei Arrays in ein assoziatives Array zu kombinieren. Insbesondere liefert das erste Array die Schlüssel des assoziativen Arrays und das zweite Array liefert die diesen Schlüssel entsprechenden Werte. Wenn die Anzahl der Elemente der beiden Arrays unterschiedlich ist, gibt Array_combine () false zurück.
array_combine(array $keys, array $values): array|false
$keys = ['a', 'b', 'c'];
$values = [1, 2, 3];
$result = array_combine($keys, $values);
print_r($result);
Ausgangsergebnis:
Array
(
[a] => 1
[b] => 2
[c] => 3
)
In diesem Beispiel wird jedes Element des $ -Keys -Arrays zum Schlüssel des assoziativen Arrays, und das Element des $ valuer -Array wird zum Wert des entsprechenden Schlüssels.
Array_combine () ist eine sehr bequeme Option, wenn Sie ein assoziatives Array durch zwei unabhängige Arrays erstellen müssen (einer ist ein Schlüssel und der andere ist ein Wert).
Die Funktion compact () wird verwendet, um ein assoziatives Array zu erstellen, das variable Namen und Werte enthält. Es akzeptiert einen oder mehrere Variablennamen und gibt ein Array zurück, in dem der Schlüssel der Variablenname ist und der Wert der Wert dieser Variablen ist. Compact () wird häufig verwendet, um ein Array mehrerer Variablen im aktuellen Bereich zu erzeugen.
compact(string|array $var_name, string ...$var_names): array
$name = "John";
$age = 30;
$city = "New York";
$result = compact('name', 'age', 'city');
print_r($result);
Ausgangsergebnis:
Array
(
[name] => John
[age] => 30
[city] => New York
)
In diesem Beispiel erzeugt die Kompact () -Funktion ein assoziatives Array, das Namen , Alter und Stadtvariablen enthält.
Die Funktion compact () ist sehr nützlich, wenn Sie mehrere Variablen haben und sie in einem Array organisieren möchten. Wenn Sie beispielsweise Daten für Ansichtsvorlagen oder bei der Verarbeitung angeforderter Daten generieren, können Sie mehrere Variablen bequem in ein Array verpacken.
Parametertyp :
Array_combine () benötigt zwei Arrays als Parameter, eine zum Generieren der Schlüssel des Arrays und des anderen zur Erzeugung des Wertes des Arrays.
Compact () erfordert, einen oder mehrere Variablennamen (Zeichenfolgen) als Parameter zu übergeben und dann das assoziative Array zurückzugeben, das diesen Variablennamen entspricht.
verwenden :
Array_combine () eignet sich für Szenarien, in denen zwei Arrays zu einem assoziativen Array kombiniert werden.
Compact () eignet sich für Szenarien, in denen Variablen und ihre Werte im aktuellen Bereich in ein assoziatives Array verpackt werden.
Rückgabeergebnis :
Array_combine () gibt ein assoziatives Array zurück, das Schlüssel und Werten entspricht.
Compact () gibt ein assoziatives Array zurück, das den variablen Namen und den variablen Wert enthält.
Szenarien mit Array_combine () :
Wenn Sie zwei unabhängige Arrays haben und sie zu einem assoziativen Array verschmelzen möchten, ist es sehr geeignet, wenn Sie Array_combine () verwenden. Kombinieren Sie beispielsweise den Feldnamen mit seinem entsprechenden Wert, erstellen Sie ein Datenmodell usw.
Szenarien mit Compact () :
Wenn Sie mehrere Variablen in ein Array umwandeln müssen, ist es bequemer, Compact () zu verwenden. Wenn Sie beispielsweise mehrere Variablen in ein Array in einem Controller verpacken und an eine Ansicht weitergeben oder wenn Sie mehrere Variablenwerte in einem Protokoll aufzeichnen, können Sie Compact () verwenden.
Array_combine () ist ein assoziatives Array, das zwei Arrays zusammenfasst, um ein Schlüsselwertpaar zu bilden.
Compact () ist ein assoziatives Array, das mehrere Variablen in Schlüsselwertpaare umwandelt. Der Schlüssel ist der variable Name und der Wert ist der Wert der Variablen.
Abhängig von den Anforderungen kann die Auswahl der richtigen Funktion die Lesbarkeit und Effizienz des Codes verbessern.