当前位置: 首页 > 知识库问答 >
问题:

foreach循环码点火器中的回波阵列

颛孙正谊
2023-03-14

我已经使用codeigniter很多年了,但是两者之间有很大的差距,所以我总是发现自己在这样的情况下,我忘记了如何做事情,而且现在已经快到午夜了,所以我的大脑工作得不快。有人能向我展示如何回显我所拥有的数组,并向我解释它们在foreach循环中是如何处理的吗?

我在我的模型中有这段代码,用于接受2个表中的行。

public function tag_genre(){
$result['tag'] = $this->db->get('tags')->result_array();
$result['genre'] = $this->db->get('genre')->result_array();
return $result;
}

我的控制器里有这个

public function view_publish_story(){
$data = array('tag_genre' => $this->story_model->tag_genre(), 'title' => "New Story");

$this->load->view('template/header',$data);
$this->load->view('template/navbar');
$this->load->view('pages/storypublish',$data);
$this->load->view('template/footer');   
}

我在视图中使用了print_r,结果就是这样。看到这只是让我更加迷惑。我至少已经两年没有处理过foreach循环了。

数组([tag]=&>;数组([0]=&>;数组([tag_id]=&>1[tag_name]=&>LitRPG)[1]=&>;数组([tag_id]=&>2[tag_name]=&>虚拟现实)[2]=&>;数组([tag_id]=&>3[tag_name]=&>赛博朋克)[3]=&>;数组([tag_id]=&>4[tag_name]=&>轮回)[4]=&>;数组([tag_id]=&>5[tag_name]=&>召唤英雄)[5]=&>数组([tag_id]=&>6[tag_name]=&>武术)[6]=&>;数组([tag_id]=&>7[tag_name]=&>生命片)[7]=&>数组([tag_id]=&>8[tag_name]=&>Overpowered)[8]=&>;数组([tag_id]=&>9[tag_name]=&>非人工)[9]=&>;数组([tag_id]=&>10[tag_name]=&>反英雄))[genre]=&>数组([0]=&>数组([genre_id]=&>1[genre_name]=&>操作)[1]=&>;数组([genre_id]=&>2[genre_name]=&>冒险)[2]=&>;数组([genre_id]=&>3[genre_name]=&>喜剧)[3]=&>;数组([genre_id]=&>4[genre_name]=&>戏剧)[4]=&>;数组([genre_id]=&>5[genre_name]=&>幻想)[5]=&>数组([genre_id]=&>6[genre_name]=&>历史记录)[6]=&>;数组([genre_id]=&>7[genre_name]=&>恐怖)[7]=&>;数组([genre_id]=&>8[genre_name]=&>心理)[8]=&>;数组([genre_id]=&>9[genre_name]=&>浪漫)[9]=&>;数组([genre_id]=&>10[genre_name]=&>Sci-fi)[10]=&>;数组([genre_id]=&>11[genre_name]=&>神秘)[11]=&>数组([genre_id]=&>12[genre_name]=&>悲剧)[12]=&>;数组([genre_id]=&>13[genre_name]=&>短篇故事)[13]=&>数组([genre_id]=&>14[genre_name]=&>讽刺))

我一直在研究关于数组的各种问题,从assoc到多维以及其他东西。然后,我最终访问了php手册for foreach循环,我最终能够回显数组。现在的问题是,尽管它回显了我的数组,但它也有一个错误,我可以通过声明它为一个已定义变量来修复错误部分。我的问题是,还有其他更好的办法吗?或者我如何改进我的数组,使它更干净或更容易打印?

foreach($tag_genre as $key => $value){
    foreach($value as $values){
        echo $values['tag_name'];
    }
}

更新:我改变了我制作数组的方式。

这是我现在的模型:

public function get_tags(){
    $query = $this->db->get('tags')->result_array();

    foreach($query as $row){
    $result[$row['tag_id']] = $row['tag_name'];}
    return $result;
}

public function get_genre(){
    $query = $this->db->get('genre')->result_array();

    foreach($query as $row){
    $result[$row['genre_id']] = $row['genre_name'];}
    return $result;
}

我的控制器:

public function view_publish_story(){
$data = array('tag' => $this->story_model->get_tags(), 'genre' => $this->story_model->get_genre(), 'title' => "New Story");

$this->load->view('template/header',$data);
$this->load->view('template/navbar');
$this->load->view('pages/storypublish',$data);
$this->load->view('template/footer');   
}

在我看来:

<tr>
<div class="form-group">
    <td><label for="genre">Genre</label></td>
    <?php  
    foreach($genre as $genre_id => $genre_name){
    echo "<td><label class='checkbox-inline'><input type='checkbox' value=''>".$genre_name."</label><td>";
    }
    ?>
</div>
</tr>

我现在的问题是,我怎么把这些都放进我的桌子里?因为我在一条线上重复了它们,所以我现在就毁了我的桌子。我怎样做才能使它打印成3列?

共有1个答案

阎渝
2023-03-14
foreach($tag_genre as $key => $value){
    foreach($value as $values){
        echo '<pre>';
        echo $values['tag_name'];
    }
}

这将格式化您的数组的方式,您可以读取它和理解它。

 类似资料:
  • 我认为无论如何我都必须在内循环上使用foreach,对吗?

  • 我试图在PHP中的foreach循环的每次迭代之后进行回显。回声在全部完成之前不会呈现。我试过各种帖子的建议,但没有一个奏效。我的一些代码是: 有什么建议吗?谢了。

  • 我试图插入一个使用AJAX启动控制器的表单。表单是通过搜索另一个数据库生成的,该数据库创建了一个循环(foreach)表。用户将他/她的徽章扫描到输入字段中,然后在tab或blur上,jQuery启动对控制器的AJAX调用,控制器启动模型以插入数据库。它将数据写入数据库,但它循环表的所有行并将其插入数据库的每一行。因此,我将在db中设置10行,每列包含该列的所有10行数据(我假设是从我的内爆中)。

  • 问题内容: 我本来打算通过 在。有几点我不了解。 迭代器函数的用途是什么?没有它,还有什么办法吗? 如下所示,键和值的意义是什么? PS: 我试图在不带参数的情况下运行此函数,但它不起作用。 这是我的: 我的档案: 另一个问题 :如果在控制台中出现条件并显示“ username is thomas”,为什么上面的功能没有打开? 问题答案: 问题1和2 因此,基本上,第一个参数是要迭代的对象。它可以

  • foreach循环遍历列表值并将控制变量(var)依次设置为列表的每个元素 - 语法 (Syntax) Perl编程语言中foreach循环的语法是 - foreach var (list) { ... } 流程图 (Flow Diagram) 例子 (Example) #!/usr/local/bin/perl @list = (2, 20, 30, 40, 50); # foreach lo

  • 问题内容: 我有这样的1,2,3产品ID 我该如何在for循环回显中使用此代码设置格式,请问还有其他方法吗 问题答案:

  • 我尝试将一个循环转换为一个循环在flutter中等待循环。我想要循环的元素是Firebase实时数据库中的快照。 我的函数如下所示: 我尝试了不同的方法,但是我没有让函数工作。 第一次尝试: 错误: 未处理的异常:键入'_InternalLinkedHashMap 第二次尝试: 错误: 未处理的异常:键入'_InternalLinkedHashMap 在所有的尝试中,我都得到了相同的错误。但是上述

  • 除了前面介绍的几种循环语句外,C# 同样也支持 foreach 循环,使用 foreach 可以遍历数组或者集合对象中的每一个元素,其语法格式如下: foreach(数据类型 变量名 in 数组或集合对象){     语句块; } foreach 会在每次循环的过程中,依次从数组或集合对象中取出一个新的元素放到 里定义的变量中,直到所有元素都成功取出后退出循环。 【示例】使用 foreach 循环