advon 发表于 2012-2-12 23:31:50

请教,CI返回的数据数组的键名格式问题

使用CI从数据库返回数组资料(db->get($table1)->result_array())用print_r结果如下:
Array ( => Array ( => 1 => 西装 => 苹果西装的尺码 ) => Array ( => 2 => 衬衫 => 通用男衬衫尺码 ) => Array ( => 3 => 夹克 => 苹果夹克男装 ) )

可以看到键名是用[]括起来的,而不是用''括起来,貌似因此不能用$arr['name']这样的格式输出资料。
不知这种情况怎么解决?
我的资料不返回对象而是返回数组是因为实际应用中我要一次返回主从两个表的资料,用对象不会做。我弄了以下测试数组,可以用键名正常输出资料的。
$arr1=array(
   array('id'=>1,'name'=>'裤','size'=>array(array('ids'=>1,'names'=>28),array('ids'=>2,'names'=>29),array('ids'=>3,'names'=>30))),
   array('id'=>2,'name'=>'衫','size'=>array(array('ids'=>1,'names'=>'S'),array('ids'=>2,'names'=>'M'),array('ids'=>3,'names'=>'L'))));

foreach ($arr1 as $as)
{
echo $as['id'].".";
echo $as['name']."<br>";
if (is_array($as['size']))
{
foreach ($as['size'] as $az)
{
   echo $az['ids'].".".$az['names']."<br>";
}
}

advon 发表于 2012-2-13 09:26:16

result_array()返回的数组用foreach($arr as $key=>$val)是可以输出键名的$key的,但是$val[‘键名']不能正常用。

advon 发表于 2012-2-13 09:27:33

不知各位要返回主、从两个表的资料是怎么做的?

Hex 发表于 2012-2-13 11:36:52

你用 $key['value'] 是没问题的,你不用管 CI 返回的数组里有没有双引号。
你说说你报什么错吧?

advon 发表于 2012-2-13 20:44:52

正常了,是我的问题,汗。。。
感谢!
页: [1]
查看完整版本: 请教,CI返回的数据数组的键名格式问题