foreach在查看代码符号中的错误:非法字符串偏移



请帮助,我使用foreach从数据库返回数据,但它仅返回最后一个数据(数组始终使用最后一个数据更新)。因此,我修改了代码,但我遇到了错误:foreach中的非法字符串偏移。

这是我的控制器

foreach($dataDesa as $desa)
        {
            $namaDesa = json_decode($this->curl->simple_get($desa->alamat_api.'/info_desa?ID_DESA=1'));
            $datakonten[$namaDesa] = array(                         
                                        'proyek' =>json_decode($this->curl->simple_get($desa->alamat_api.'/proyek_pertanian')),
                                        'nama_desa' =>json_decode($this->curl->simple_get($desa->alamat_api.'/info_desa?ID_DESA=1')),
                                        'lelang' =>json_decode($this->curl->simple_get($desa->alamat_api.'/pelelangan'))
                                        );
        }
        $datakonten['getAllDesa'] = $this->M_desa->getAllDesa($idStatus);
        $nama_Desa = array();
        foreach($datakonten['getAllDesa'] as $row)
        {
           $nama_Desa[] = $row->nama_desa;
        }
        $datakonten['nama_desa']=$nama_Desa;
        $data['content'] = $this->load->view('public/konten/v_home',$datakonten,TRUE);
    $this->load->view('public/halaman/v_home',$data);

这是我的观点

$i=0;
foreach($nama_desa[$i]['proyek'] as $rows)
{   
    $nama = $rows->nama_proyek; 
    i++;
}

我已经测试了$ nama_desa [0]和$ nama_desa [1],并且它们的值返回(值为" kranon"one_answers" wulung"),我使用的值像$ kranon ['proyek'],而theres则没有错误并返回了我想要的值,但是当我将其与$ nama_desa [$ i] ['proyek']相结合时,我会收到此错误。`请帮助,谢谢

您仅将$ row-> nama_desa推到$ nama_desa。并尝试从$ nama_desa?

获得['proyek']

正如您上面所述,您可以使用此$ nama_desa [1]获得价值,但是您尝试访问此键$ nama_desa [$ i] ['proyek'],这意味着它寻找$NAMA_DESA [1] ['PROYEK'],不存在。

只是做

 print_r($ name_desa); die; 

您会发现$ name_desa [1]上的" proyek'的名称"(键'1'我只给出了'我只给出的键。它可以是任何数量的键)

我想您将通过访问此$ nama_desa ['proyek']获得您的价值,否则您将获得印刷结果的想法。

我刚刚找到了我的解决方案。每当我想传递变量以将另一个值引用到foreach中的变量时,我总是会遇到错误,因此我修改了控制器,以便直接将值传递到foreach中。我将某种" get-data-from-api"从控制器移到视图中。

我的控制器:

$datakonten['getAllDesa'] = $this->M_desa->getAllDesa($idStatus);
$data['content'] = $this->load>view('public/konten/v_home',$datakonten,TRUE);

我的观点:

foreach($getAllDesa as $rows)
        {
            $proyek = json_decode($this->curl->simple_get($rows->alamat_api_lelang));
            foreach($proyek as $baris)
            {
                $namaProyek = $baris->nama_proyek;
                ?>
                Nama Proyek : <?php echo $namaProyek;?></br>
                <?php   
            }
        }

最新更新