Php 在foreach中组合两个数组

Php 在foreach中组合两个数组,php,arrays,Php,Arrays,我的PHP脚本中有以下情况: foreach( $recent_posts as $recent ) { /* something happens in here */ } 以及: 我想将这两个foreach语句组合在一起。 我在这里看到了一些解决方案,但没有什么真正适合我的 编辑:我想做类似的事情 echo'猜测您想要类似于此的东西,但这有点像猜测,取决于变量的值 foreach( $recent_posts as $key => $recent ) { $thumbn

我的PHP脚本中有以下情况:

foreach( $recent_posts as $recent ) {
    /* something happens in here */
}
以及:

我想将这两个
foreach
语句组合在一起。 我在这里看到了一些解决方案,但没有什么真正适合我的

编辑:我想做类似的事情


echo'

猜测您想要类似于此的东西,但这有点像猜测,取决于变量的值

foreach( $recent_posts as $key => $recent ) {
    $thumbnail = $thumbnails[$key];

    if( has_post_thumbnail( $thumbnail->ID ) )
    {

    }
}

从PHP 5.3.0开始,您可以使用该类:

$a = new MultipleIterator();
$a->attachIterator(new ArrayIterator($recent_posts), 'recent');
$a->attachIterator(new ArrayIterator($thumbnails), 'thumbnail');

foreach ($a as $unit) {
    // $unit['recent'] 
    // $unit['thumbnail']
    if (has_post_thumbnail($unit['thumbnail']->ID)) {
        /* something other happens */ 
    }
}

您可以使用
array\u map

$a = ['red','yello','green'] ;
$b = ['apple','banna','mango'];

foreach(array_map(null, $a, $b) as $combined) {
    vprintf("%s %s\n", $combined);
}
输出

red apple
yello banna
green mango

定义“联合收割机”。假设它们的长度相同,为什么不直接使用
for()
?你到底希望它们如何组合?你能解释一下缩略图和最近文章之间的关系吗?你打算如何将它们结合起来?我编辑了我的问题,以解释我想做什么!除非阵列是基于0的,否则这将不起作用。如果使用字符串键,则会失败。请您用我的变量做一个例子。我最好能理解!现在这很强大。绝对值得知道。在这种情况下可能有点过度工程化,但它可以工作。@supersize我已经调整了代码以使用您的变量名。您还可以使用
extract($unit)
直接使用
$recent
$thumbnail
,而无需手动分配。不确定我是否会这样做。它给了我一个
类乘法器
未定义的错误。注意:我在wordpress工作@在这种情况下,您的PHP版本太旧。
red apple
yello banna
green mango