可能重复:
In PHP, how do you change the key of an array element?
我正在阅读一堆多维数组,在挖掘它们时,我注意到有些键不正确。
对于每个不正确的密钥,我只想将其更改为零:
从:
$array['bad_value']
为:
$array[0]
我想保留数组元素的值,我只想更改单个键的内容。建议表示赞赏。
干杯
答案 0 :(得分:7)
如果您将多个键更改为0,则会覆盖值...
你可以这样做
$badKey = 'bad_value';
$array[0] = $array[$badKey];
unset($array[$badKey]);
答案 1 :(得分:3)
Bruteforce方法:
$array[0] = $array['bad_value'];
unset($array['bad_value']);
答案 2 :(得分:0)
$array['0'][] = $array['bad_value'];
unset( $array['bad_value'] );
然后它将是$ array ['0']中的数组,其中包含已损坏元素的值。
答案 3 :(得分:-2)
很好地看到你说的密钥可以更改为任何数值这个怎么样?
$bad_keys = array('bad_key_1', 'bad_key_2' ...);
$i = 0;
foreach($bad_keys as $bad_key) {
$array[$i] = $array[$bad_key];
unset($array[$bad_key]);
$i++;
}
编辑:我提供的解决方案非常糟糕,并没有真正解决问题,因为有多个坏键,这应该会更好。