如果foreach循环中的语句格式化特定列

时间:2016-05-19 08:31:42

标签: php html

这是我当前获取数据的代码:

<thead>
<?php
foreach ($fields as $val) {
$fieldname=$val->name;
echo "<th>".$fieldname."</th>";
}
?>
</thead>

<tbody>
<tr>
<?php
foreach ($rows as $data){       
echo "<td>".$data."</td>";
?>
</tr>
</tbody>

部分字段为Id,Title,Amount等。我想格式化特定列'标题',以便它将成为一个链接。 非常感谢你。

我试过If语句如:

if($rows==$rows['AMOUNT']){
//format here
}

但它不会产生任何进步。 但是,如果我想改变单个列的字体样式,那么If语句可以使用字段名。

2 个答案:

答案 0 :(得分:0)

正如您在评论$rows中提到的那样是关联数组

在你的情况下,你需要得到数组值和数组键获取键和值的foreach语法

foreach($array as $key => $value)

尝试检查数组的,如果你想检查另一个字段,也可以使用elseif

foreach ($rows as $key => $data)
{       
   if($key == 'Title'){
     echo "<td><a href='yourlink'>".$data."</a></td>";
   }
   else{
     echo "<td>".$data."</td>";
   }
}

答案 1 :(得分:0)

如果您使用关联数组检查键值来标识列:

<?php
foreach ($rows as $key => $data){ 
    if($key == 'AMOUNT')
        //format here
    elseif($key == 'TITLE')
        //format here
    else
        echo "<td>".$data."</td>";
}
?>