代码之家  ›  专栏  ›  技术社区  ›  Evernoob

更改数组元素键值的简单方法[重复]

  •  1
  • Evernoob  · 技术社区  · 16 年前

    可能重复:
    In PHP, how do you change the key of an array element?

    我在读一堆多维数组,在挖掘它们时,我注意到一些键是不正确的。

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

    来自:

    $array['bad_value']
    

    到:

    $array[0]
    

    我想保留数组元素的值,我只想更改单个键的值。感谢您的建议。

    干杯

    4 回复  |  直到 16 年前
        1
  •  7
  •   NDM    16 年前

    如果将多个键更改为0,将覆盖值…

    你可以这样做

    $badKey = 'bad_value';
    $array[0] = $array[$badKey];
    unset($array[$badKey]);
    
        2
  •  3
  •   mauris    16 年前

    变形方法:

    $array[0] = $array['bad_value'];
    unset($array['bad_value']);
    
        3
  •  0
  •   silent    16 年前
    $array['0'][] = $array['bad_value'];
    unset( $array['bad_value'] );
    

    然后它将是$array['0']中的一个数组,其中包含破碎元素的值。

        4
  •  -2
  •   RMcLeod    16 年前

    正如你所说的,这些键可以改变成任何数值,这个怎么样?

    $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++;
    }
    

    编辑: 我给出的解决方案很糟糕,没有真正解决问题,因为有多个坏键,这应该更好。