Array zu Array in PHP hinzufügen

Olorunfemi Akinlua 20 Juni 2023
  1. Verwenden der for- und foreach-Schleifen zum Hinzufügen von Array zu Array in PHP
  2. Verwenden der Funktion array_merge() zum Hinzufügen von Array zu Array in PHP
  3. Verwenden der Funktion array_push() zum Hinzufügen von Array zu Array in PHP
Array zu Array in PHP hinzufügen

Arrays enthalten eine Reihe von indizierten Elementen desselben Datentyps, häufig für eine schnellere Iteration und Datenverwaltung.

Um auf Array-Elemente zuzugreifen, durchlaufen Sie normalerweise das Array. Beispielsweise könnte in einer PHP-Anwendung ein Array Daten aus dem Registrierungsformular und ein anderes Array Daten aus dem Abschnitt mit den Kontodetails enthalten. Um beide Arrays in einer Sequenz zu verwenden, müssen wir beide Arrays hinzufügen. Um dies zu erreichen, müssen wir das zweite Array an das erste anhängen, und verschiedene Funktionen verhalten sich unterschiedlich.

Dieses Tutorial behandelt die verschiedenen Methoden, um zwei Arrays zusammenzufügen, um ein Array in PHP zu bilden.

Verwenden der for- und foreach-Schleifen zum Hinzufügen von Array zu Array in PHP

Eine einfache Methode zum Hinzufügen eines Arrays zu einem anderen Array besteht darin, das zweite Array auszuwählen, alle Elemente zu durchlaufen und jedes Element an das erste Array anzuhängen. Diese spezielle Lösung ist jedoch für größere Arrays ziemlich lang und ineffizient.

$container = ["hair extension", "scissors"];
$shopping_lists = ["hair cream", "hair fryer", "makeup set"];
for($index = 0; $index < count($shopping_lists ); $index++){
    array_push($container, $shopping_lists[$index]);
}
print_r($container)

Ausgang:

Array
(
    [0]    hair extension
    [1]    scissors
    [2]    hair cream
    [3]    hair fryer
    [4]    makeup set
)
   true

Sie können den gleichen Ansatz auch auf ein assoziatives Array anwenden. Es ist jedoch mit der gleichen Ineffizienz und Komplexität verbunden.

$customer = array( 
    "name" => "Garner", 
    "email" => "g.abded@gmail.com", 
    "age" => 34, 
    "gender" => "female",
    "account_type" => "starter"
); 

$account = array(
    "current_course" => "Ruby Crash Course",
    "payment_channel" => "Stripe",
    "browser" => "Edge"
);

foreach($account as $key => $value) {
    $customer[$key] = $value;
}

print_r($customer)

Ausgang:

Array
(
    [name]    Garner
    [email]    g.abded@gmail.com
    [age]    34
    [gender]    female
    [account_type]    starter
    [current_course]    Ruby Crash Course
    [payment_channel]    Stripe
    [browser]    Edge
)
   true

Verwenden der Funktion array_merge() zum Hinzufügen von Array zu Array in PHP

Die Funktion array_merge() führt zwei oder mehr Arrays zusammen und fügt die Elemente eines Arrays an das Ende des vorherigen Arrays an und so weiter bis zum letzten Array. Diese Funktion funktioniert für Index-, assoziative und mehrdimensionale Arrays. Im Gegensatz zur vorherigen Methode erstellt dieser Ansatz ein neues Array und fügt es nicht an das erste Array an.

Diese Methode kann mit mehreren Arrays arbeiten. Genauer gesagt können wir diesen Ansatz verwenden, um das Schlüssel-Wert-Paar (assoziative Arrays) miteinander zu addieren, um ein einzelnes Array zu bilden. Dasselbe gilt für Index-Arrays.

$details = [
    "name" => "Clement",
    "email" => "clement@gmail.com",
    "gender" => "male"
];

$accounts = [
    "card" => "mastercard",
    "processor" => "stripe",
    "pro" => True
];

$account_details = array_merge($details, $accounts);

print_r($account_details);

Ausgang:

Array
(
    [name]    Clement
    [email]    clement@gmail.com
    [gender]    male
    [card]    mastercard
    [processor]    stripe
    [pro]    1
)
   true

So verwenden Sie die Funktion array_merge() für drei Arrays.

$details = [
    "name" => "Clement",
    "email" => "clement@gmail.com",
    "gender" => "male"
];
$accounts = [
    "card" => "mastercard",
    "processor" => "stripe",
    "pro" => True
];
$functions = [
    "movies" => "inferno"
];
$account_details = array_merge($details, $accounts, $functions);
print_r($account_details);

Ausgang:

Array
(
    [name]    Clement
    [email]    clement@gmail.com
    [gender]    male
    [card]    mastercard
    [processor]    stripe
    [pro]    1
    [movies]    inferno
)
   true

Diese Methode ist mit allen PHP 7.0-Versionen und höher kompatibel.

Verwenden der Funktion array_push() zum Hinzufügen von Array zu Array in PHP

Die Funktion array_push() schiebt das oder die Arrays wie einen Stack (LIFO) ans Ende des Arrays. Sie können diese Funktion verwenden, um ein Index-Array zu einem assoziativen Array hinzuzufügen, und es wird automatisch ein numerischer Index für das Index-Array erstellt, das in das assoziative Array verschoben wird. Wenn zwei Index-Arrays gepusht werden, enthält das erste Index-Array den numerischen Index von 0 und das zweite Index-Array den numerischen Index von 1. Für N arrays gepusht, ist der numerische Index N-1.

Außerdem können Sie Indexarrays in ein Indexarray und assoziative Arrays in ein assoziatives Array verschieben.

$basic_data = ['Location' => 'Mumbai', 'Tier' => 'Three'];
$tools = ['Geology', 'Machine Learning'];
$BD_Tools = array_push($basic_data, $tools);

print_r($basic_data);

Ausgang:

Array
(
    [Location]    Mumbai
    [Tier]    Three
    [0]    Array
        (
            [0]    Geology
            [1]    Machine Learning
        )
)
   true

Verwenden Sie außerdem den Operator ... innerhalb der Funktion array_push(), damit alle Elemente in den gepushten Arrays ihren eigenen numerischen Index haben, anstatt einen für alle.

$basic_data = ['Location' => 'Mumbai', 'Tier' => 'Three'];
$tools = ['Geology', 'Machine Learning'];
$BD_Tools = array_push($basic_data, ...$tools);

print_r($basic_data);

Ausgang:

Array
(
    [Location]    Mumbai
    [Tier]    Three
    [0]    Geology
    [1]    Machine Learning
)
   true

Für assoziative Array-Push-Operationen können Sie den Operator ... nicht verwenden, da er einen Fehler auslöst.

TypeError: array_push() akzeptiert keine unbekannten benannten Parameter null

Daher ist die einzige Möglichkeit, die Funktion array_push() mit zwei oder mehr Arrays zu verwenden, die Standardmethode.

$basic_data = ['Location' => 'Mumbai', 'Tier' => 'Three'];
$tools = ['Course' => 'Geology', 'Approach' => 'Machine Learning'];
$BD_Tools = array_push($basic_data, $tools);

print_r($basic_data);

Ausgang:

Array
(
    [Location]    Mumbai
    [Tier]    Three
    [0]    Array
        (
            [Course]    Geology
            [Approach]    Machine Learning
        )

)
   true
Olorunfemi Akinlua avatar Olorunfemi Akinlua avatar

Olorunfemi is a lover of technology and computers. In addition, I write technology and coding content for developers and hobbyists. When not working, I learn to design, among other things.

LinkedIn