我是PHP新手。我想结合两个数组从第0个索引 例如
$a = [7, 5, 6, 9]
$b = [1, 3, 2, 4]
结果应为
$c = ["7-1", "5-3", "6-2", "9-4"];
答案 0 :(得分:2)
您可以使用简单的foreach
循环并将它们放在一起。当然,这期望$b
中的元素至少与$a
中的元素一样多。
$a = [7, 5, 6, 9];
$b = [1, 3, 2, 4];
$result = [];
foreach ($a as $key=>$value) {
$result[] = $value.'-'$b[$key];
}
如果由于某种原因未对数组进行数字索引,则可以使用array_values()
仅提取值(从而获得数字索引的数组)。
如果您希望$b
可以比$a
短,则可以通过检查该元素是否存在来停止$b
的最后一次迭代。
$a = [7, 5, 6, 9];
$b = [1, 3, 2, 4];
$result = [];
foreach ($a as $key=>$value) {
if (!isset($b[$key])) {
break;
}
$result[] = $value.'-'$b[$key];
}
答案 1 :(得分:1)
您可以使用单线,
$result = array_map(function($a1,$b1){ return $a1.'-'.$b1; },$a,$b);
array_map接受多个数组,同时我们可以接收每个数组的实例。
Demo。
答案 2 :(得分:0)
您可以将array_combine
与array_walk
一起使用
$c = array_combine($a,$b);
$r = [];
array_walk($c, function($k,$v) use (&$r){$r[] = "{$v}-{$k}";});
print_r($r);