php想在一个集合中再添加集合数据然后输出,疑问??
具体数组中添加数组代码如下:function city($cityid){
$city = $this->db->query("select * from info_city where id = $cityid");
$city = $city->row_array();
$syset = new sysSetting();
$remstr = $syset->setRecommand_citySuffix($city['city']);
$cates = $this->db->query("select * from info_category");
$cates = $cates->result_array();
foreach ($cates as $cate)
{
$cateid = $cate['id'];
$subcates = $this->db->query("select * from info_subcate where cateid = $cateid ");
$cate['subcates']=$subcates->result_array();
array_push($cates,$cate);
}
$data['cates']=$cates;
print_r($cates);
$data['title']=$remstr;
$data['kwd']=$remstr;
$data['des']=$remstr;
$this->load->view('inc/info/header',$data);
$this->load->view('info/city');
$this->load->view('inc/footer');
}
打印数据为:
Array ( => Array ( => 1 => 房产信息 ) => Array ( => 2 => 车辆买卖与服务 ) => Array ( => 3 => 交友征婚 ) => Array ( => 1 => 房产信息 => Array ( => Array ( => 1 => 1 => 房屋出租 ) => Array ( => 2 => 1 => 房屋合租 ) => Array ( => 3 => 1 => 房屋求租 ) ) ) => Array ( => 2 => 车辆买卖与服务 => Array ( ) ) => Array ( => 3 => 交友征婚 => Array ( ) ) )
页面的输出:
<tr>
<td class="tb_right"><?php foreach($cates as $cate):?>
<div class="ct_cate">
<div class="title">
<ul>
<li class="lbg"></li>
<li class="txt"><?php $cate['category']?></li>
<li class="rbg"></li>
</ul>
</div>
<?php
if($cate['subcates']!=null){
?>
<ul class="listul">
<?php foreach($cate['subcates'] as $subcate):?>
<li><?php $subcate['subcate']?></li>
<?php endforeach;?>
</ul>
<?php
}
?></div>
<?php endforeach;?></td>
<td class="tb_left"></td>
</tr>
出现的问题:
Severity: Notice
Message: Undefined index: subcates
Filename: info/city.php
Line Number: 12
请大家帮我看一下哈。。。。
该问题想了好久了。。不知道如何解决。。以前总是避开该问题。。唉。。总算是又遇到了。。。 问题解决了。。谢谢大家哈。。
下面是具体的代码请帮我看一下。。提一下优化的意见。。谢谢。。粗略写成。。如果可以优化。。大家多提意见啊。。。哈。。。
function city($cityid){
$city = $this->db->query("select * from info_city where id = $cityid");
$city = $city->row_array();
$syset = new sysSetting();
$remstr = $syset->setRecommand_citySuffix($city['city']);
$cates = $this->db->query("select * from info_category");
$cates = $cates->result_array();
$cats = array();
foreach ($cates as $cate)
{
$cateid = $cate['id'];
$subcates = $this->db->query("select * from info_subcate where cateid = $cateid ");
$cate['subcates']=$subcates->result_array();
array_push($cats,$cate);
// print_r($cate);
}
$data['cates']=$cats;
print_r($cats);
$data['title']=$remstr;
$data['kwd']=$remstr;
$data['des']=$remstr;
$this->load->view('inc/info/header',$data);
$this->load->view('info/city');
$this->load->view('inc/footer');
}
页面输出代码:
<tr>
<td class="tb_right" valign="top">
<?php foreach($cates as $cate):?>
<div class="ct_cate">
<div class="title">
<ul>
<li class="lbg"></li>
<li class="txt"><?php echo $cate['category']?></li>
<li class="rbg"></li>
</ul>
</div>
<?php
if($cate['subcates']!=null){
?>
<ul class="listul">
<?php foreach($cate['subcates'] as $subcate):?>
<li><?php echo $subcate['subcate']?></li>
<?php endforeach;?>
<?php
?>
</ul>
<?php
}
?>
</div>
<?php endforeach;?>
</td>
<td class="tb_left"></td>
</tr> if($cate['subcates']!=null){
改成
if(isset($cate['subcates'])){ 谢谢哈。。。 验证空值,empty()函数也非常节省,并速度很快。 验证空值,empty()函数也非常节省,并速度很快。
spt119 发表于 2010-6-5 13:21 http://codeigniter.org.cn/forums/images/common/back.gif
不错。。谢谢啊。。。
页:
[1]