我正在学习php,我想知道如何在同一个for循环中迭代两个数组?这是我的代码,例如第8行到第14行,但是它给出了一个数组而不是一个元素,该怎么办?请对我这么容易,我还是这个领域的新手。
<tr>
<td><?php echo $val->title ?></td>
<td><?php echo $val->content?></td>
<td><?php echo $val->owner ?></td>
<?php } ?>
<?php
foreach ($users as $val) {
?>
<td><?php echo str_replace("-", "%", $val->email) ?></td>
<?php }?>
<?php foreach ($maincat as $val) {?>
<td><?php echo str_replace("-","%",$val->maincat_name) ?></td>
<?php }?>
<?php foreach ($category as $val) {?>
<td><?php echo str_replace("-","%",$val->category_name) ?></td>
<?php }?>
<?php foreach ($sub_category as $val) {?>
<td><?php echo str_replace("-","%",$val->sub_category_name) ?></td>
<?php }?>
<?php foreach ($sub_sub_category as $val) {?>
<td><?php echo str_replace("-","%",$val->sub_sub_category_name) ?></td>
<?php }?>
</tr>
在这张图片中,它给出了整个细胞
而不是两个单元格{sajeda@sajeda.com and email2}
,我希望单元格 sajeda@sajeda.com 位于底部,另一个* email * 2位于上方。
这不是一个html问题,在迭代时,我想要第一个值 sajeda@sajdea.com ,另一个迭代要给 email2 < / strong>
有人可以帮忙吗?
编辑:
这就是我定义用户的方式
$data['users'] = $this->model->join_users($table)->result();
答案 0 :(得分:5)
我不知道这是你在找什么?
我使用了一些短序,例如<?=
替换<?php echo
并使用foreach(...) : endforeach;
<?php $i = 0; ?>
<?php foreach ($users as $val) : ?>
<td><?= str_replace("-", "%", $val->email) ?></td>
<td><?= str_replace("-", "%", $maincat[$i]->maincat_name) ?></td>
<td><?= str_replace("-", "%", $category[$i]->category_name) ?></td>
<td><?= str_replace("-", "%", $sub_category[$i]->sub_category_name) ?></td>
<td><?= str_replace("-", "%", $sub_sub_category[$i]->sub_sub_category_name) ?></td>
<?php $i++; ?>
<?php endforeach; ?>
答案 1 :(得分:0)
<a href=<?php echo base_url() ."mainx/show_msg_id/". $msg->msg_id; ?> >
<?php foreach($s->result() as $t):?>
<div>
<strong><?php echo $t->lastname . ' ' . $t->firstname;?></strong>
<span class="pull-right text-muted">
<em><?php echo date('m/d/Y H:i:s' ,$msg->timestamp); ?></em>
</span>
</div>
<div><?php echo $msg->message;?></div>
</a>
<?php endforeach; ?>
<?php endforeach; ?>
我在我的例子中做的是我循环到foreach。在我的第一个循环中是员工的名称,在我的员工循环之间是foreach循环消息。