简单的方法可以改变数组元素的键值。
简单的方法可以改变数组元素的键值。
可能是重复问题:
我正在读取一堆多维数组,当我深入研究它们时,我发现一些键是不正确的。
对于每个不正确的键,我只想将其更改为零:
从:
$array['bad_value']
到:
$array[0]
我想保留数组元素的值,我只想更改个别键。欢迎提供建议。
谢谢!
问题的出现的原因是因为需要在一个多维数组中更改一个数组元素的键值,并且需要保持该元素在包含数组中的位置。解决方法如下:
// 获取要更改键值的数组元素 $element = $array['bad_value']; // 获取要更改键值的数组元素在包含数组中的位置 $position = array_search($element, $array); // 删除原来的键值 unset($array['bad_value']); // 在包含数组中的正确位置将元素插入并设置新的键值 $array = array_slice($array, 0, $position, true) + array('new_key' => $element) + array_slice($array, $position + 1, null, true);
在上述代码中,问题的出现是因为数组元素的键值需要更改。在这种情况下,我们想要将数组元素$key的键值更改为'0'。然而,在尝试这样做时,代码却出现了问题。
为了解决这个问题,我们可以使用以下方法来更改数组元素的键值:
$array['0'][] = $array['bad_value']; unset( $array['bad_value'] );
通过上述代码,我们首先将数组元素'bad_value'的值添加到$array['0']中。然后,我们使用unset函数来删除原始的$array['bad_value']元素。
通过这种方式,我们成功地将键值从'bad_value'更改为了'0'。这样,我们就解决了问题,并且可以继续使用更新后的数组。