Codeigniter 编辑控制器内部返回的数组(不是视图)

Codeigniter Editing returned array inside of controller (not view)

CODEIGNITER 问题:在将数组发送到视图之前,我似乎无法理解从模型传回控制器的数组。

我的控制器:

function getLatestComp()
{
    $data['latest'] = $this->competitions_model->getLastCompetition();

    echo json_encode($data['latest']);

    $this->load->view('single_competition_view', $data);
}

如何操作返回的数组?这是返回的数组:

[{"comp_id":"25","song_id1":"178512356","song_id2":"119321744","start_date":"2015-03-23","end_date":"0000-00-00"},{"comp_id":"26","song_id1":"179391155","song_id2":"57429423","start_date":"2015-03-23","end_date":"0000-00-00"},{"comp_id":"27","song_id1":"57429423","song_id2":"52255807","start_date":"2015-03-23","end_date":"0000-00-00"},{"comp_id":"28","song_id1":"57429423","song_id2":"52255807","start_date":"2015-03-23","end_date":"0000-00-00"}] 

说我只想要第二个实例的comp_id?

我试过:

$data['latest'][1]->comp_id

$data['latest']->comp_id[1]

$latest[1]->comp_id

$latest[1]['comp_id']

如何获得我正在寻找的值?

您似乎想访问对象的第二个元素。
我想你 return 像这样从你的模型中编辑数据 get()->result()
如果你想让你的第二个元素进入控制器,它应该可以工作

$data['latest'][1]->comp_id;//if your php version>=5.4

如果您的 php 版本较低,则使用此

$second_object=$data['latest'][1];
$second_object->comp_id;

类似地,如果您想将其放入视图中,请使用这种方式

$latest[1]->comp_id;//if php version>=5.4
//otherwise
$second_object=$latest[1];
$second_object->comp_id;

如果您 return 像这样 ...get()->result_array() 将模型中的数据作为数组 ...get()->result_array() 那么您可以轻松访问它

$data['latest'][1]['comp_id'];//inside your controller
$latest[1]['comp_id'];//inside  your view

希望您能理解并解决您的问题。