/ / PHP konvertiert zwei Arrays zusammen - PHP, Arrays

PHP konvertieren zwei Arrays zusammen - PHP, Arrays

Ich muss zwei Arrays in nur ein Array konvertieren, das ich später zum Einfügen in eine Datenbank verwenden kann.

Die Arrays sehen so aus:

array (size=4)
0 => string "Player1" (length=7)
1 => string "Player2" (length=7)
2 => string "Player3" (length=7)
3 => string "Player4" (length=7)

array (size=4)
0 => string "43" (length=2)
1 => string "12" (length=2)
2 => string "65" (length=2)
3 => string "12" (length=2)

Und ich würde gerne so etwas bekommen:

array (size=4)
name => string "Player1" (length=7)
value => string "43" (length=2)

name => string "Player2" (length=7)
value => string "12" (length=2)

name => string "Player3" (length=7)
value => string "65" (length=2)

name => string "Player4" (length=7)
value => string "12" (length=2)

Ein kleiner Code:

$players = "Player1,Player2,Player3,Player4";
$values = "43,12,65,12";

$players = explode(",",$players);
$values = explode(",",$values);

Ich habe es versucht array_combine, aber das scheint Duplikate zu entfernen. Es wurde der Wert 12 entfernt.

Antworten:

3 für die Antwort № 1

Durchlaufen Sie die Arrays und schieben Sie die kombinierten Elemente auf das neue Array.

$new_array = array();
foreach ($players as $i => $player) {
$new_array[] = array("name" => $player, "value" => $values[$i]);
}

Du könntest auch benutzen array_map:

$new_array = array_map(function($p, $v) {
return array("name" => $p, "value" => $v);
}, $players, $values);

0 für die Antwort № 2
<?php
$players = "Player1,Player2,Player3,Player4";
$values = "43,12,65,12";

$players = explode(",",$players);
$values = explode(",",$values);

$newArr=array();
foreach ($players as $i => $val) {
$newArr[] = array($val, $values[$i]);
}

print_r($newArr);

Ich glaube nicht, dass dies die eleganteste Entscheidung ist ... Und ich bin sicher, dass diese Art von Antworten bereits in Stackoverflow vorhanden ist ...