猿问

在PHP中,如何更改数组元素的键?

在PHP中,如何更改数组元素的键?

我在表单中有一个关联数组。key => value其中键是数值,但是它不是顺序数值。键实际上是一个ID号,值是一个计数。对于大多数情况来说,这都很好,但是我想要一个函数来获取数组的可读的名称,并将其用于键,而不需要更改值。

我没有看到这样的函数,但我假设我需要提供旧的键和新的键(这两者我都有)并转换数组。有没有一种有效的方法来做到这一点?


慕丝7291255
浏览 1608回答 3
3回答

莫回无

$arr[$newkey] = $arr[$oldkey];unset($arr[$oldkey]);

红颜莎娜

要做到这一点并保持数组的顺序,方法是将数组键放入单独的数组中,查找并替换该数组中的键,然后将其与值组合起来。下面的函数就是这样做的:function change_key( $array, $old_key, $new_key ) {     if( ! array_key_exists( $old_key, $array ) )         return $array;     $keys = array_keys( $array );     $keys[ array_search( $old_key, $keys ) ] = $new_key;     return array_combine( $keys, $array );}

慕少森

如果你array是根据数据库查询生成的,您可以直接从mysql声明:而不是"select ´id´ from ´tablename´..."使用以下内容:"select ´id´ **as NEWNAME** from ´tablename´..."
随时随地看视频慕课网APP
我要回答