我们如何在每次迭代中显示每个循环的两个元素?
例如,我有一个这样的数组:
$arr = array('a', 'b', 'c', 'd','e','f');
想要显示这样的记录:
a-b
c-d
e-f
有什么想法吗?
答案 0 :(得分:12)
您可以使用array_chunk
,这意味着完全适用于这类情况,而且这是最短且最有效的方式。
$arr = array('a', 'b', 'c', 'd','e','f');
foreach(array_chunk($arr , 2) as $val) {
echo implode('-', $val)."\n";
}
将数组块化为具有大小元素的数组。
答案 1 :(得分:3)
使用for
循环遍历数组。
通过计数器打印每次迭代中的当前和当前加一个值。
增加计数器。
<?php
$arr = array('a', 'b', 'c', 'd','e','f');
$i=0;
$len = count($arr);
for ($i=0; $i< $len; $i++) { // We could have used count($arr)
//instead of $len. But, it will lead to
//multiple calls to count() function causing code run slowly.
echo "<br/>".$arr[$i] . '-' . $arr[$i+1];
++$i;
}
?>
答案 2 :(得分:0)
<?php
$input_array = array('a', 'b', 'c', 'd', 'e');
print_r(array_chunk($input_array, 2));
?>
以上示例将输出:
Array
(
[0] => Array
(
[0] => a
[1] => b
)
[1] => Array
(
[0] => c
[1] => d
)
[2] => Array
(
[0] => e
)
)
答案 3 :(得分:0)
试试这个:
<?php
$array = array('a', 'b', 'c', 'd','e','f');
$length = count($array);
for ($i=0; $i< $length; $i+2) {
echo "<br/>".$arr[$i] . '-' . $arr[$i+1];
}
?>