【问题标题】:iterating in two arrays in the same for loop在同一个for循环中迭代两个数组
【发布时间】:2016-05-08 23:23:36
【问题描述】:

我正在学习 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

有人可以帮忙吗?

编辑:

这就是我定义用户的方式

$data['users'] = $this->model->join_users($table)->result();

【问题讨论】:

  • 不清楚你想做什么。请根据示例输入提供所需的输出。
  • 您不能同时迭代 2 个数组。您要么需要合并它们,要么需要迭代一个数组并在另一个数组中搜索正确的值
  • 在这张图片中,它给出了整个单元格 pasteall.org/pic/show.php?id=98538 ,,,, 而不是两个单元格 {sajeda@sajeda.com 和 email2} ,我希望单元格 sajeda@sajeda.com在底部,另一个 email2 在上面,这不是 html 问题,我的意思是,在迭代时,我希望第一个值是 sajeda@sajdea.com,另一个迭代给 email2
  • 请在第一个 之前执行 var_dump($users);var_dump($data['users']); foreach($users as $val) 并告诉我们你得到了什么。在您的示例中,您正在迭代 4 个独立的数组。
  • 或许你可以把解决方法贴在这里给大家看看,自己回答问题就行了

标签: php html web


【解决方案1】:

我不知道这是你要找的吗?

我使用了几个速记,例如&lt;?=

替换&lt;?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; ?>

【讨论】:

    【解决方案2】:
    结果()作为$msg):?> db->select("lastname, firstname,mi")->from("tb_employee")->where("employee_id",$msg->sender)->get(); ?>
                        <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 循环。

    【讨论】:

      猜你喜欢
      • 2015-11-13
      • 2016-04-07
      • 1970-01-01
      • 2016-01-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-04
      • 1970-01-01
      相关资源
      最近更新 更多