【发布时间】:2015-02-03 17:47:38
【问题描述】:
我是 Codeigniter 的新手,面对这个问题我非常绝望。所以,我只是用 CI 做了一个简单的应用程序。当我想检查一个对象数组(在本例中为 $kunj->DIAG 数组)时,我收到一条错误通知。 这是我的观点的一些外观:
查看:
<table class="table table-striped table-bordered table-condensed" id="tablescroll" role="grid">
<thead>
<tr class="tablesorter-headerRow" role="row">
<th>No.</th>
<th>Nama</th>
<?php if(!empty($kunj->DIAG)){ echo "<th>ICD</th>"; } ?>
</tr>
</thead>
<tbody aria-live="polite" aria-relevant="all">
<?php if(!empty($kunj)) print_r(count($kunj));
if(!empty($kunj)){
$no = 0;
foreach ($kunj as $i): ?>
<tr align='center'>
<td><?php $no++; echo $no; ?></td>
<td><?php echo $i->NAMA; ?></td>
<?php if(!empty($i->DIAG)){ echo "<td>".$i->DIAG."</td>"; } ?>
</tr>
<?php endforeach ?>
<?php } ?>
</tbody>
</table>
控制器:
function kunjunganpx(){
$this->load->model('simrs/diagnosa_model');
$cari = array(
'icd' => $this->input->post('icd'),
'asr' => $this->input->post('asuransi'),
'tgl_strt' => $this->input->post('tgl_strt'),
'tgl_end' => $this->input->post('tgl_end'),
'stat' => $this->input->post('px_stat'),
'urut' => $this->input->post('urut'),
'opsi' => $this->input->post('opsi'));
$data['kunj'] = $this->diagnosa_model->get_kunjungan_list($cari);
$this->load->view('kunjunganpx_view',$data);
}
这是我得到的通知:
A PHP Error was encountered
Severity: Notice
Message: Trying to get property of non-object
Filename: simrs/kunjunganpx_view.php
通过谷歌搜索某个站点,我意识到无法使用empty() 检查对象数组。但我非常想知道如何解决这个问题,因为我在对象中生成了查询结果。
我只想知道当$kunj->DIAG 没有价值时如何“隐藏”ICD 的硬印。如果变量有一些值,则显示它。提前致谢。
更新
应会员的要求,我在此处附上var_dump($data); 结果:
array(1) { ["kunj"]=> array(2)
{ [0]=> object(stdClass)#21 (20)
{ ["NAMA"]=> string(13) "SUPRIYANTO BP"
["DIAG"]=> string(5) "D48.0" }
[1]=> object(stdClass)#22 (20)
{ ["NAMA"]=> string(13) "SUPRIYANTO BP"
["DIAG"]=> string(5) "C44.9" }
}
}
【问题讨论】:
-
array of object->$kunj["DIAG"],你还想如何检查一个对象是否为空?!唯一的事情就是如果它被设置 -
用
isset()检查它而不是空的。 -
您能否显示您的控制器代码,因为您可能没有将其传递到您的视图中
-
@Rizier123 我已经用
isset()尝试过,但仍然没有给出我预期的结果。实际上,通知已经消失,但 ICD 硬印仍然缺失 $kunj->DIAG 有值。 -
我上面的评论也通知@Daniel评论
标签: php arrays codeigniter