我定义了以下数组。
$a = Array
(
[0] => 30:27
[1] => 29:28
[2] => 30:27
)
$b = Array
(
[0] => 102186
[3] => 102991
[4] => 102241
)我使用了array_map($a,$b);,但不是我想要的结果来了。
总是第一键到第一键,第二到第二键,第三到第三键,我希望得到以下结果.
$ab = $b = Array
(
[0] => 102186 [30:27]
[1] => 102991 [29:28]
[2] => 102241 [30:27]
) 发布于 2013-12-12 15:36:30
只需在第一个数组上循环并从第二个数组中添加相应的值。实际上,您可以使用array_map进行如下操作:
$ab = array_map(function($aVal, $bVal){
return "$bVal [$aVal]";
}, $a, $b);发布于 2013-12-12 15:36:45
编辑:
如果数组键不匹配(认为它是一个错误),那么只需使用如下的$a = array_values($a)和$b = array_values($b)来重置数组:
$a = array(
0 => "30:27",
1 => "29:28",
2 => "30:27"
);
$b = array(
0 => "102186",
3 => "102991",
4 => "102241"
);
// Reset keys
$a = array_values($a);
$b = array_values($b);
$ab = array();
for ($i=0; $i < count($a); $i++) {
$ab[] = "{$b[$i]} [{$a[$i]}]";
}
echo "<pre>";
print_r($ab);
echo "</pre>";产出:
Array
(
[0] => 102186 [30:27]
[1] => 102991 [29:28]
[2] => 102241 [30:27]
)发布于 2013-12-12 15:32:27
使用:
$arrayFirst和$arraySecond -您的输入数组;
$result = array();
for ($i=0; $i < count($arrayFirst); $i++) {
$result[] = "{$arraySecond[$i]} [{$arrayFirst[$i]}]";
}
var_dump ($result);或 数组
$array = array_merge_recursive($array1, $array2);https://stackoverflow.com/questions/20547536
复制相似问题