两个阵列组合或翻转

时间:2017-11-14 09:01:07

标签: php arrays

我有这两个数组:

array:4 [▼
  0 => 518
  1 => 519
  2 => 520
  3 => 521
]

和这一个:

array:4 [▼
  0 => "1"
  1 => "2"
  2 => "3"
  3 => "3"
]

有人可以帮助我如何实现这样的目标..

array:4 [▼
 518=>1
  519=> 2
 520 => 3
  521 => 3
]

我不知道是否可能

2 个答案:

答案 0 :(得分:3)

您可以使用内置函数array_combine来实现此目的:

$arr1 =array(
  0 => 518,
  1 => 519,
  2 => 520,
  3 => 521,
);

$arr2 =array(
  0 => "1",
  1 => "2",
  2 => "3",
  3 => "3",
);
$new_array = array_combine($arr1,$arr2);
print_r($new_array);

DEMO

答案 1 :(得分:0)

您可以循环并使用该键在阵列之间关联。你有一点类型的玩杂耍。

<?php
$one = 
[
  0 => 518,
  1 => 519,
  2 => 520,
  3 => 521
];

$two = 
[
  0 => "1",
  1 => "2",
  2 => "3",
  3 => "3"
];

$desired =
[
  518 => 1,
  519 => 2,
  520 => 3,
  521 => 3
];

foreach($one as $k=>$v)
{
    $out[$v] = (int) $two[$k];
}    

if($desired === $out) {
    echo 'All good.';
}

输出:

All good.