该语言是PHP。我有一个foreach($ a为$ b)和另一个foreach($ c为$ d => $ e)。我如何将他们结合在一起阅读。我厌倦了foreach(($ a为$ b)& &($ c为$ d => $ e)),但那是垃圾。如何将两个foreach循环合并为一个
6
A
回答
0
这将做你想做的事。在整个循环过程中,它将同时推进两个阵列。您可以随时break
如果手动$c
是不同的大小比$a
,你需要基于阵列的尺寸打破逻辑:
foreach($a as $b)
{
list($d,$e) = each($c);
//continue on with $b, $d and $e all set
}
each()
将推进$c
数组指针在每次迭代。
3
我不明白你想要做什么。如果你想在其他以后,以达到他们一个只使用两个循环:
foreach ($a as $b) { ... }
foreach ($c as $d => $e) { ... }
如果从$a
和$c
希望所有的组合:
foreach ($a as $b) {
foreach ($c as $d => $e) {
// do stuff
}
}
我想你可以这样做:
foreach (array_merge($a, $c) as $k => $v) {
...
}
但我不一定建议。
22
您可能会感兴趣SPL's MultipleIterator
例如
// ArrayIterator is just an example, could be any Iterator.
$a1 = new ArrayIterator(array(1, 2, 3, 4, 5, 6));
$a2 = new ArrayIterator(array(11, 12, 13, 14, 15, 16));
$it = new MultipleIterator;
$it->attachIterator($a1);
$it->attachIterator($a2);
foreach($it as $e) {
echo $e[0], ' | ', $e[1], "\n";
}
打印
1 | 11
2 | 12
3 | 13
4 | 14
5 | 15
6 | 16
7
1)第一种方法
<?php
$FirstArray = array('a', 'b', 'c', 'd');
$SecondArray = array('1', '2', '3', '4');
foreach(array_combine($FirstArray, $SecondArray) as $f => $n) {
echo $f.$n;
echo "<br/>";
}
?>
或2)方法二
<?php
$FirstArray = array('a', 'b', 'c', 'd');
$SecondArray = array('1', '2', '3', '4');
for ($index = 0 ; $index < count($FirstArray); $index ++) {
echo $FirstArray[$index] . $SecondArray[$index];
echo "<br/>";
}
?>
相关问题
- 1. 如何结合两个foreach循环合并为一个
- 2. 将两个循环合并为一个
- 3. 如何合并这两个foreach循环(只用一个)?
- 4. 将两个javascript合并为一个foreach
- 5. 如何将这两个循环合并为一个?
- 6. 如何将两个for循环合并为一个(in java)
- 7. 两个while循环合并为一个
- 8. 组合两个foreach循环
- 9. 将两个Linq查询合并为一个无foreach循环的单个查询
- 10. 如何将多个循环合并为一个循环?
- 11. PHP中的两个foreach循环合并成一个?
- 12. 将两个循环函数合并为一个
- 13. 将两个主循环合并为一个node.js进程
- 14. 将循环合并为一个 - TIPS ONLY
- 15. php函数并将两个循环更改为一个循环?
- 16. 如何将此foreach循环合并为一行lambda/linq
- 17. 结合两个“的foreach”循环
- 18. 无法将两个循环合并为一个以满足这两个要求
- 19. 如何将两个变量合并成一个foreach?
- 20. 将不同foreach循环的值合并到一个数组中
- 21. 将模型中的数据合并到一个foreach循环中?
- 22. 将一个(;;)循环变成一个foreach
- 23. 如何将两列合并为一个
- 24. 如何将两行合并为一个?
- 25. PHP如何合并一个循环内的两个数组
- 26. 如何组合2个foreach循环
- 27. 对两个foreach循环
- 28. 如何将一个循环合并到一个bash别名中
- 29. 如何将foreach循环限制为四个循环
- 30. 两个foreach循环合并发送电子邮件
这就是我今天所看到的代码中最有趣的和平。再加上一个。数组的长度是否相等,或者在某个点上是否停止迭代其中的一个? – 2010-03-31 23:08:40
这取决于您是否设置MultipleIterator :: MIT_NEED_ANY或MultipleIterator :: MIT_NEED_ALL标志。使用MIT_NEED_ALL时,如果任何内部迭代器没有更多元素,则迭代器将停止。使用MIT_NEED_ANY时,只要至少有一个内部迭代器具有另一个元素,则所有其他项都将变为NULL,迭代器就会继续。 MIT_NEED_ALL是默认值。 – VolkerK 2010-03-31 23:34:42
谢谢你的信息,非常酷! – 2010-03-31 23:48:26