Php 在foreach中组合两个数组
我的PHP脚本中有以下情况: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
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