处理数组问题?

#1 phpcaicai

用findAll查询出来的数组默认是从0开始
怎样把数组从0开始改为从1开始


$list=array(
0 => array('id'=>'1','pid'=>0,'name'=>'测试111),
1 => array('id'=>'2','pid'=>0,'name'=>'测试222),
2 => array('id'=>'3','pid'=>1,'name'=>'测试333),
3 => array('id'=>'4','pid'=>1,'name'=>'测试444'),
4 => array('id'=>'5','pid'=>2,'name'=>'测试555'),
5 => array('id'=>'6','pid'=>3,'name'=>'测试666'),
6 => array('id'=>'7','pid'=>3,'name'=>'测试777')
);

转换成:
$list=array(
1 => array('id'=>'1','pid'=>0,'name'=>'测试111),
2 => array('id'=>'2','pid'=>0,'name'=>'测试222),
3 => array('id'=>'3','pid'=>1,'name'=>'测试333),
4 => array('id'=>'4','pid'=>1,'name'=>'测试444'),
5 => array('id'=>'5','pid'=>2,'name'=>'测试555'),
6 => array('id'=>'6','pid'=>3,'name'=>'测试666'),
7 => array('id'=>'7','pid'=>3,'name'=>'测试777')
);

2010-05-31 02:10:04

#2 azwl

为什么要这样做?!!!

2010-05-31 08:09:16

#3 jake

的确有些古怪的想法,除了VB之后,好像就没有那个语言的数组下标是从1开始的。

这里其实也不难,foreach一次重新对下标赋值就行。

2010-05-31 08:35:50

#4 phpcaicai

请问咋写?我不会

2010-05-31 10:17:58

#5 jake

$list  = xxx; // 这里是你的原数组
$i = 1;
$list2 = array();
foreach( $list as $v ){ $list2[$i] = $v; $i++; }
print_r($list2); // 这是你的新数组

2010-05-31 11:05:19

#6 d.b.mule

直接用array_unshift ($list,'')可以吗,下标0的元素为空。

2010-05-31 14:16:28