Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/254.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在foreach字符串中添加css类_Php_Foreach - Fatal编程技术网

Php 在foreach字符串中添加css类

Php 在foreach字符串中添加css类,php,foreach,Php,Foreach,我有以下在wordpress模板中显示相关项目的代码,但我想添加一个类,每秒钟项目都附加一个css类right,我需要修改什么来实现这一点 <?php $rel = $related->show(get_the_ID(), true); foreach ($rel as $r) : echo '<div class=related-item><a href='.get_permalink($r->ID).'>'.'<div clas

我有以下在wordpress模板中显示相关项目的代码,但我想添加一个类,每秒钟项目都附加一个css类
right
,我需要修改什么来实现这一点

  <?php $rel = $related->show(get_the_ID(), true);
   foreach ($rel as $r) :
   echo '<div class=related-item><a href='.get_permalink($r->ID).'>'.'<div class=page-related-title>'.$r->post_title.'</div>'.get_the_post_thumbnail($r->ID, array(50,50)).'</a></div>';
   endforeach;?>

虽然这与Wordpress有关,但我认为它更与一般的PHP编码有关,所以在这里使用psoting而不是在WPSE上使用psoting。

试试这个

<?php $rel = $related->show(get_the_ID(), true);
 $count = 0;
foreach ($rel as $r) {
 $class= ($count%2 == 0)?"right":"";

 echo '<div class="related-item '.$class.'"><a href='.get_permalink($r->ID).'>'.'<div class=page-related-title>'.$r->post_title.'</div>'.get_the_post_thumbnail($r->ID, array(50,50)).'</a></div>';
$count++;
}?>


像这样的。我的建议是尝试使用大括号代替foreach():endforeach

你的意思是:


$i = 0;
    foreach ($rel as $r) :
        $class = (($i % 2) == 0) ? "your_class"  : "";
            echo '<div class="related-item $class"><a href='.get_permalink($r->ID).'>'.'<div class=page-related-title>'.$r->post_title.''.get_the_post_thumbnail($r->ID, array(50,50)).'</a></div>';
        $i++;
    endforeach;

$i=0;
foreach($rel as$r):
$class=($i%2)==0)?“你的班级”:“;
回声';
$i++;
endforeach;

如果数组具有顺序索引,则可以使用模计算或按位操作。如果数组基于非数字或非序列数字,则需要添加计数器

$i & 1 // odd using bitwise

$i % 2 // odd modulo
因此,您将得到以下结果:

$i = 0;
foreach ($rel as $r) { // note that I have used curly brackets. I think it is cleaner  more standard
    $i++;
    $classes = array('related-item');
    if ($i % 2 == 0) $classes[] = 'right';

    echo '<div class="'.implode(' ', $classes).'"><a href='.get_permalink($r->ID).'>'.'<div class=page-related-title>'.$r->post_title.'</div>'.get_the_post_thumbnail($r->ID, array(50,50)).'</a></div>';
}

删除了代码,页面不起作用,查看Dreamweaver中的提示,它告诉我此编码的第四行有语法错误……也正如@peehaa所说的,如果您的数组有顺序索引,那么您也可以使用此
foreach($rel as$index=>$r)
其中
$index
替换
$count
。干杯
$i = 0;
foreach ($rel as $r) { // note that I have used curly brackets. I think it is cleaner  more standard
    $i++;
    $classes = array('related-item');
    if ($i % 2 == 0) $classes[] = 'right';

    echo '<div class="'.implode(' ', $classes).'"><a href='.get_permalink($r->ID).'>'.'<div class=page-related-title>'.$r->post_title.'</div>'.get_the_post_thumbnail($r->ID, array(50,50)).'</a></div>';
}
$i = 0;
foreach ($rel as $r) { // note that I have used curly brackets. I think it is cleaner  more standard
    $i++;
    $classes = array('related-item');
    if ($i & 2 == 0) $classes[] = 'right';

    echo '<div class="'.implode(' ', $classes).'"><a href='.get_permalink($r->ID).'>'.'<div class=page-related-title>'.$r->post_title.'</div>'.get_the_post_thumbnail($r->ID, array(50,50)).'</a></div>';
}
foreach ($rel as $index => $r) { // note that I have used curly brackets. I think it is cleaner  more standard
    $classes = array('related-item');
    if ($index & 2 == 1) $classes[] = 'right';

    echo '<div class="'.implode(' ', $classes).'"><a href='.get_permalink($r->ID).'>'.'<div class=page-related-title>'.$r->post_title.'</div>'.get_the_post_thumbnail($r->ID, array(50,50)).'</a></div>';
}
<?php
 foreach($rel as $key => $r) {
   /* here we check if $key is even and assign class name or empty string to $class variable  */
   ($key%2) ? $class = 'your-class-name' : $class = '';

   /* and here we just add $class variable to 'class="related-items " part. */
   /* so if $key is odd then $class will be empt and your div will have only 'related-item' class, and if $key is even then $class will hold 'your-class-name' value and div will have two classes: related-item and your-class-name */
   echo '<div class="related-item '.$class.'"><a href='.get_permalink($r->ID).'>'.'<div class=page-related-title>'.$r->post_title.'</div>'.get_the_post_thumbnail($r->ID, array(50,50)).'</a></div>';
 }
?>