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));