Php 将两个数组合并为一个字符串

Php 将两个数组合并为一个字符串,php,arrays,for-loop,Php,Arrays,For Loop,我需要创建一个名为ar1的新数组,其中包含以下项目:[都柏林、布达佩斯、哥本哈根]和ar2以及[Ireland、Hungary、Denmark],然后使用包含国家-数组中每个国家的字符串进行回答,后跟相应的首都。使用格式“country=capital, *国家=首都… 检查下面的代码,但我知道这是另一种做ex.For循环的方法,但有人能解释一下怎么做吗 $ar1 = ["Dublin", "Budapest", "Copenhagen"]; $ar2 = ["Ireland", "Hungar

我需要创建一个名为
ar1
的新数组,其中包含以下项目:
[都柏林、布达佩斯、哥本哈根]
ar2
以及[Ireland、Hungary、Denmark],然后使用包含
国家
-数组中每个国家的字符串进行回答,后跟相应的首都。使用格式
“country=capital,
*国家=首都…

检查下面的代码,但我知道这是另一种做ex.For循环的方法,但有人能解释一下怎么做吗

$ar1 = ["Dublin", "Budapest", "Copenhagen"];
$ar2 = ["Ireland", "Hungary", "Denmark"];
$ANSWER = $ar2[0] . " = " . $ar1[0] . ", " . $ar2[1] . " = " . $ar1[1]. ", " . $ar2[2] . " = " . $ar1[2];

您应该使用
foreach

$ar1 = ["Dublin", "Budapest", "Copenhagen"];
$ar2 = ["Ireland", "Hungary", "Denmark"];
$ANSWER = '';
foreach($ar1 as $key => $capital) {
    $ANSWER .= $ar2[$key] . ' = ' . $capital . ', ';
}
echo rtrim($ANSWER, ', ');
。。。然后
rtrim
删除最后一个


使用
array\u combine()


演示:

更快速、更简单的方式:

$countries=["Ireland", "Hungary", "Denmark"];
 $capitals=["Dublin", "Budapest", "Copenhagen"];
 $string=implode(',',array_map(function($country,$capital){ return "$country=$capital";},$countries,$capitals));
 var_dump($string);
输出:

string(50) "Ireland=Dublin,Hungary=Budapest,Denmark=Copenhagen"

如果在单独的变量中有两个相关的列表,那么首先将它们转换为单个结构通常会更容易。在PHP中,您可以这样做:

$transposed = array_map(null, $ar1, $ar2);
一旦它们结合起来,生成所需输出就简单得多:

echo implode(', ', array_map(function($row) {
    return "{$row[1]} = {$row[0]}";
}, $transposed));
爱尔兰=都柏林,匈牙利=布达佩斯,丹麦=哥本哈根


请参见

张贴您的预期产出是什么?他预期如下:
爱尔兰=都柏林,匈牙利=布达佩斯,丹麦=哥本哈根
确切地说,爱尔兰=都柏林,匈牙利=布达佩斯,丹麦=Copenhagen@Mati为了得到准确的输出,我发布了几个解决方案。希望有帮助:)你说的数组列在哪里?:P对不起,我的不好。它的数组_combine()@Andreas我已经修好了。
$transposed = array_map(null, $ar1, $ar2);
echo implode(', ', array_map(function($row) {
    return "{$row[1]} = {$row[0]}";
}, $transposed));