简单的方法可以改变数组元素的键值。

9 浏览
0 Comments

简单的方法可以改变数组元素的键值。

可能是重复问题:

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

我正在读取一堆多维数组,当我深入研究它们时,我发现一些键是不正确的。

对于每个不正确的键,我只想将其更改为零:

从:

$array['bad_value']

到:

$array[0]

我想保留数组元素的值,我只想更改个别键。欢迎提供建议。

谢谢!

0
0 Comments

问题的出现的原因是因为需要在一个多维数组中更改一个数组元素的键值,并且需要保持该元素在包含数组中的位置。解决方法如下:

// 获取要更改键值的数组元素
$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);

0
0 Comments

在上述代码中,问题的出现是因为数组元素的键值需要更改。在这种情况下,我们想要将数组元素$key的键值更改为'0'。然而,在尝试这样做时,代码却出现了问题。

为了解决这个问题,我们可以使用以下方法来更改数组元素的键值:

$array['0'][] = $array['bad_value'];
unset( $array['bad_value'] );

通过上述代码,我们首先将数组元素'bad_value'的值添加到$array['0']中。然后,我们使用unset函数来删除原始的$array['bad_value']元素。

通过这种方式,我们成功地将键值从'bad_value'更改为了'0'。这样,我们就解决了问题,并且可以继续使用更新后的数组。

0
0 Comments

原因:在修改数组元素的键值时,如果将多个键值改为0,则会覆盖原有的值。

解决方法:可以采用以下方式来修改数组元素的键值:

$badKey = 'bad_value';
$array[0] = $array[$badKey];
unset($array[$badKey]);

以上代码将原数组中的键名为'bad_value'的元素的值赋给新的键名为0的元素,然后使用unset()函数删除原来的键名为'bad_value'的元素。这样就实现了修改数组元素的键值的目的。

0