【发布时间】:2012-04-07 11:45:11
【问题描述】:
从数据库中加载一个数组,如下所示:
array=>(
0=>array(
'id'=>1,
'user'=>'eric',
'text'=>'hello'
),
1=>array(
'id'=>1,
'user'=>'eric',
'text'=>'how are you?'
),
2=>array(
'id'=>2,
'user'=>'john',
'text'=>'nice to meet you'
),
......
)
如您所见,数组中唯一的区别是“文本”字段,所以我想创建另一个数组以减少冗余,如下所示:
array=>(
0=>array(
'id'=>1,
'user'=>'eric',
'text'=>array(
0=>'hello',
1=>'how are you?'
)
),
1=>array(
'id'=>2,
'user'=>'john',
'text'=>array(
0=>'nice to meet you',
)
),
......
)
我是编程新手,我花了好几个小时试图弄明白,但我做不到。我怎样才能做到这一点?请帮忙。
【问题讨论】:
-
一个循环就可以搞定
-
您要这样做的具体原因是什么?我能想到的大多数原因(速度、效率等)似乎都不是想要这样做的好理由,如果你需要这种结构来做某事,那么从你的数据库中检索它不是更聪明吗?
-
原因是尽量避免冗余,可以看到id字段是冗余的。但是正如您所建议的那样,从数据库中检索它会很好,但是如何呢?你能告诉我示例代码吗,我正在使用 mysql。
-
对不起,我把我的问题改了一点,让它有点复杂,正如你所看到的,每组的唯一区别是文本,id和用户是多余的,如何解决这个问题有问题吗?
标签: php arrays redundancy