У меня есть этот код:
<?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
?
Вот однострочник, использующий array_map()
а также 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
Просто попробуйте это:
$arrayName2 = array('123', '567');
$arrayName3 = array('abc', 'def');
$arrayName = array_combine($arrayName2,$arrayName3);
foreach ($arrayName as $key => $value) {
echo $key.$value;
}
Как насчет чего-то вроде этого:
for ($i = 1; $i < yourendvariable; $i = i + 2) {
echo "arrayname[i] arrayname2[i + 1]";
}