/ / PHP конвертира два масива заедно - php, масиви

PHP конвертира две маси заедно - php, масиви

Трябва да конвертирам два масива само в един масив, който по-късно мога да използвам за вмъкване в база данни.

Масивите изглеждат по следния начин:

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)

И бих искал да получа нещо подобно:

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)

Малък код:

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

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

Аз се опитах с array_combine, но изглежда, че премахва дубликатите. Той премахна стойността 12.

Отговори:

3 за отговор № 1

Прекарайте масите и натиснете комбинираните елементи върху новия масив.

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

Можете също да използвате array_map:

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

0 за отговор № 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);

Не мисля, че това е най-елегантното решение, но ... и съм сигурен, че този вид отговори вече присъстват в Stackoverflow ....