PHP-php中二维数组在页面遍历问题。

发布于 2016-10-17 11:31:18 字数 868 浏览 1260 评论 1

有一二维数组,它的元素个数是可变的。我在页面中要把它遍历出来,它的长度和值会决定div的class是什么,我这边写了一种方法,虽然效果达到了,但是感觉不是很好的。
代码大概是这样的:

<?php
$rs = Array(0 => Array('fund_id' => 15,'company_id' => 548,'company_name' => '朱雀投资'),
1 => Array('fund_id' => 16,'company_id' => 200,'company_name' => '明达资产')
);//这个数组的长度会发生变化
$len = count($rs);

for($i=0;$i<$len;$i++){
if($i == 0 && $len==2) {
$class = 'compTableL L';
}elseif($i==1 && $len==2) {
$class = 'compTableL R';
}elseif($i==0 && $len==3) {
$class ='compTable3L L';
}elseif($i==1 && $len==3) {
$class = 'compTable3C L';
}elseif($i==2 && $len==3) {
$class='compTable3R R';
}
?>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

灵芸 2016-12-03 09:18:00

相信这样应该会比你多个if和elseif好点,你说$rs数组可能会变化,但是无论怎么变化,下面对应的class还是需要手工定义,所以我这里做了一个数组映射,当有新的class需要添加里,不用写elseif,只需要在$items数组里直接添加一个键值对就行了。这样不仅方便,而且看起来明朗。

 <?php
$rs = Array(0 => Array('fund_id' => 15,'company_id' => 548,'company_name' => '朱雀投资'),
1 => Array('fund_id' => 16,'company_id' => 200,'company_name' => '明达资产')
); //这个数组的长度会发生变化
$len = count($rs);

//将$rs的可能长度和出现的值做成映射
//例如:键值02中0的代表$i, 2代表$len
$item = array(
'02' => 'compTableL L',
'12' => 'compTableL R',
'03' => 'compTable3L L',
'13' => 'compTable3C L',
'23' => 'compTable3R R'
);

for($i=0;$i<$len;$i++){
$class = $item[$i.$len];
?>
<div class='<?php echo $class; ?>'>
<div class="compTd1 compTd Color1"><?php echo $rs[$i]['company_name']?></div>
</div>
<?php } ?>

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文