Foreach循环中的Foreach循环?

时间:2015-09-27 作者:N00b

我有一种情况,唯一的方法似乎是在循环中使用循环。Is that a good idea?

像其他人一样,我在寻找可能的最佳解决方案。

Situation:

<我需要为每种类型分配不同的标记(这些是分类法)

What I\'ve got:

// Types   
$car_type = get_the_terms( $post->ID, \'car-type\' );


foreach ( $car_type as $type ) { 


    $type_slug = $type->slug;

    foreach ( $type_slug as $type_slug ) {
        $marker_image = \'https://www.my-site.com/media/markers/marker_\' . $type_slug  . \'.png\';   
    }
}

1 个回复
最合适的回答,由SO网友:Pieter Goosen 整理而成

您的第二个foreach循环是一个bug。$slug 是具有单个值的字符串,不能将字符串传递给foreach循环。如果将debug设置为true,您将看到一条错误消息,告诉您这一点。

你可以简单地

//Different markers for different types    
$car_type = get_the_terms( $post->ID, \'car-type\' );

//Apparently it don\'t get the slug if it\'s not in foreach loop 
foreach ( $car_type as $type ) { 

    $slug = $type->slug;
    $marker_image = \'https://www.my-site.com/media/markers/marker_\' . $slug . \'.png\';  
}

相关推荐

Increase offset while looping

我正在编写一个自定义帖子插件,它将自定义帖子分组显示为选项卡。每组4个岗位。是否可以编写一个偏移量随每次循环而增加的查询?因此,结果将是:-第一个查询显示从1到4的帖子-第二个查询显示从5到8的帖子-第三个查询显示从9到12的帖子等。 <div class=\"official-matters-tabs\"> <?php $args = array(\'post_type\' => \'official-matters\', \'showp