2 Stimmen

wie man mehrere Arrays zu einem einzigen assoziierten Array kombiniert, indem man die Arrays als Schlüssel verwendet

Ich habe 2 Arrays, die ich möchte Schleife durch und kombinieren in ein assoziatives Array. Ich möchte die 2 Arrays als die Schlüssel für das neue assoziative Array verwenden. Ich bin neu in PHP, so dass jede und alle Hilfe geschätzt werden würde.

$id = array( 2, 4);

$qty = array( 5, 7);

array('id' => , 'qty' => );

Vielen Dank im Voraus

Ich würde gerne etwas wie das folgende ausgeben

array(
'id' => 2,
'qty' => 5),
array(
'id'=> 4,
'qty' => 7
)

8voto

codaddict Punkte 426877

Das können Sie tun:

$result = array();

for($i=0;$i<count($id);$i++) {
  $result[] = array('id' => $id[$i], 'qty' => $qty[$i]);
}

Hinzugefügt von Mchl: Alternativ, IMHO etwas klarer, aber das ist meist Ansichtssache

$result = array();

foreach($id as $key => $value) {
  $result[] = array('id' => $id[$key], 'qty' => $qty[$key]);
}

0voto

Yaroslav Punkte 2230

Auch Einzeiler mit lambda (PHP >= 5.3.0) und kurzer Array-Syntax [] (PHP >= 5.4)

$combined = array_map(function($id, $qty) {return ['id' => $id, 'qty' => $qty];}, $id, $qty);

oder Rückruf und alte array() für frühere Versionen

function comb($id, $qty)
{
    return array('id' => $id, 'qty' => $qty);
}
$combined = array_map('comb', $id, $qty);

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X