在PHP中使用array_component将数组的数组与另一个数组组合


Combining array of array with another array in PHP using array_combine

为了更好地理解数组函数,我一直在玩数组函数。

下面我有三个阵列:

$cardNumber = array(2, 4, 5, 8, 9);
$playerName = array('Julian', 'Brad', 'Chloe', 'Laura', 'Paul');
$playerWins = array(4, 5, 1, 2, 6);

我正在尝试实现以下阵列结构:

array (size=5)
  2 => 
    array (size=2)
      0 => string 'Julian' (length=6)
      1 => int 4
  4 => 
    array (size=2)
      0 => string 'Brad' (length=4)
      1 => int 5
  5 => 
    array (size=2)
      0 => string 'Chloe' (length=5)
      1 => int 1
  8 => 
    array (size=2)
      0 => string 'Laura' (length=5)
      1 => int 2
  9 => 
    array (size=2)
      0 => string 'Paul' (length=4)
      1 => int 6

我决定将$playerName$playerWinsarray_combine()组合,然后将生成的数组与$cardNumber组合,这不会产生我期望的输出。我对array_combine()的理解有误吗?

您可以使用带有nullarray_map作为回调,并使用这两个数据数组为您提供所需的数组结构。然后使用array_combine:将其与密钥的数组相结合

$result = array_combine($cardNumber, array_map(null, $playerName, $playerWins));

举例说明:

$result = array_map(null, $playerName, $playerWins);

收益率:

Array
(
    [0] => Array
        (
            [0] => Julian
            [1] => 4
        )
    [1] => Array
        (
            [0] => Brad
            [1] => 5
        )
    [2] => Array
        (
            [0] => Chloe
            [1] => 1
        )
    [3] => Array
        (
            [0] => Laura
            [1] => 2
        )
    [4] => Array
        (
            [0] => Paul
            [1] => 6
        )
)

然后组合获得密钥:

$result = array_combine($cardNumber, $result);

收益率:

Array
(
    [2] => Array
        (
            [0] => Julian
            [1] => 4
        )
    [4] => Array
        (
            [0] => Brad
            [1] => 5
        )
    [5] => Array
        (
            [0] => Chloe
            [1] => 1
        )
    [8] => Array
        (
            [0] => Laura
            [1] => 2
        )
    [9] => Array
        (
            [0] => Paul
            [1] => 6
        )
)