codeigniter foreach循环codigniter中的回波阵列

pkbketx9  于 12个月前  发布在  其他
关注(0)|答案(2)|浏览(69)

我一直在使用codeigniter多年,但有一个非常大的差距,所以我总是发现自己在的情况下,我忘记了如何做的事情,它几乎午夜在这里,所以我的大脑是不是工作得很快。谁能告诉我如何回显我的数组,并解释它们是如何在foreach循环中处理的?
我的模型中有这样的代码来获取两个表中的行。

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循环以来,已经至少有2年了。
阵列([tag]=> Array([0]=> Array([tag_id]=> 1 [tag_name]=> LitRPG)[1]=> Array([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]=> Slice of Life)[7]=> Array([tag_id]=> 8 [tag_name]=> Overpowered)[8]=> Array([tag_id]=> 9 [tag_name]=> Non-Human)[9]=> Array([tag_id]=> 10 [tag_name]=> Anti-hero))[genre]=> Array([0]=> Array([genre_id]=> 1 [genre_name]=> action)[1]=> Array([genre_id]=> 2 [genre_name]=> adventure)[2]=> Array([genre_id]=> 3 [genre_name]=>喜剧)[3]=>数组([genre_id]=> 4 [genre_name]=> Drama)[4]=> Array([genre_id]=> 5 [genre_name]=>奇幻)[5]=>数组([genre_id]=> 6 [genre_name]=> Historical)[6]=> Array([genre_id]=> 7 [genre_name]=>恐怖片)[7]=>数组([genre_id]=> 8 [genre_name]=>心理学)[8]=>数组([genre_id]=> 9 [genre_name]=> Romance)[9]=> Array([genre_id]=> 10 [genre_name]=>科幻)[10]=>数组([genre_id]=> 11 [genre_name]=> Mystery)[11]=> Array([genre_id]=> 12 [genre_name]=>悲剧)[12]=>数组([genre_id]=> 13 [genre_name]=>短篇故事)[13]=>数组([genre_id]=> 14 [genre_name]=>讽刺))
我一直在研究关于数组的各种问题,从assoc到多维和其他东西。然后我终于访问了foreach循环的PHP手册,我终于能够回声数组。现在的问题是,虽然它回显了我的数组,但每个数组都有一个错误,我可以通过将其声明为已定义的变量来修复错误部分。我的问题是,还有其他更好的方法吗?或者对我如何制作我的数组进行任何改进,使其更干净或更容易打印?

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>

我现在的问题是,我怎么把这些都放进我的table里?我刚刚毁了我的表,现在,因为我呼应他们都在一行。我如何做到这一点,使它被打印在3列?

wgx48brx

wgx48brx1#

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

这将以一种你可以阅读和理解的方式格式化你的数组。

xesrikrc

xesrikrc2#

public function gettotalnoofsellersgraphdata()
{
    // echo 'sellers';
    // die;
    $a=0;
    $paramData = $this->input->post();
    $data = $this->cerc_form_model->gettotalnoofsellersgraphdata($paramData);
    $output=[];
    foreach($data as $row){
        $output[]=array('value'=>$row->value,'month'=>$row->monthnm);
        $a += $row->value;
    }
    $data1['output']=($output);
    echo json_encode(["status" => "SUCCESS", "msg" => "Data Loaded", "data" => $data1,"total sellers"=>$a]);
    
}

API中的foreach循环

相关问题