2010-12-02 119 views
0

嘿所有: 我有这个数组:重命名键PHP

 
$names = array('a','b','c'); 
foreach($names as $key => $value) { 
    echo $key; 
} 

其中来自一个名称[]字段a, b, c

的输入是:

 
0 
1 
2 

有数组函数来替换输出结果为:

 
1 
2 
3 

我想重命名第一个键,因为我将主题插入到mysql表中。

回答

3

为什么要重命名?需要时只需使用$key + 1

+0

我将用在为[$关键]在$键,所以我不能添加值的吧。 – Cheerio 2010-12-02 11:58:41

2
for ($i = count($names) - 1; $i >= 0; $i--) 
    $names[$i + 1] = $names[$i]; 
unset($names[0]); 

array_unshift($names, 0); 
unset($names[0]); 

只需使用$键+ 1查询,而不是改变阵列。

1

我只是找到了一个解决方案:

 
$names = array(1 => 'a','b','c'); 
foreach($names as $key => $value) { 
    echo $key; 
} 
+2

您的解决方案与此问题不符:) – 2010-12-02 11:58:08

0

也许这一点,如果你想通过1增加所有:

$names = array('a','b','c'); 
foreach($names as $key => $value) { 
    $key = $key+1; 
} 

$names = array('a','b','c'); 
foreach($names as $key => $value) { 
    if($key==1) { 
     $key = $key+1; 
    } 
} 

,但第二个将不作任何意义,因为它只会被第二个数组元素所取代。