1

我有这个代码:

<?php 
$arrayName2 = array('123', '567');
$arrayName3 = array('abc', 'def');
$arrayName[] = $arrayName2;
$arrayName[] = $arrayName3;
foreach ($arrayName as $key) {
    foreach($key as $innerKey) {
        echo $innerKey;
    }
}
?>

它带来了:123567abcdef. 我怎样才能得到123abc567def

4

3 回答 3

1

array_map()这是一个使用and的单行代码implode()

$arrayName2 = array('123', '567');
$arrayName3 = array('abc', 'def');

$result=implode(array_map(function($v1,$v2){return $v1.$v2;},$arrayName2,$arrayName3));
echo $result;
// output: 123abc567def

或者,如果您只是回显并且不需要变量,这将比 Adhan 的解决方案更有效,因为它不必修改输入数据:

array_map(function($v1,$v2){echo $v1,$v2;},$arrayName2,$arrayName3);
// output: 123abc567def

最后,这是一个更有效的 foreach 版本,因为array_combine()它是不必要的:

foreach($arrayName2 as $k=>$a){
    echo $a,$arrayName3[$k];
}
// output: 123abc567def
于 2017-06-05T02:43:40.240 回答
1

试试这个:

$arrayName2 = array('123', '567');
$arrayName3 = array('abc', 'def');
$arrayName = array_combine($arrayName2,$arrayName3);
foreach ($arrayName as $key => $value) {
  echo $key.$value;
}
于 2017-06-05T02:27:11.570 回答
-1

像这样的东西怎么样:

for ($i = 1; $i < yourendvariable; $i = i + 2) {
    echo "arrayname[i] arrayname2[i + 1]";
}
于 2017-06-05T02:21:15.110 回答