好的,我有一个像这样的数组:
$myArray[32]['value'] = 'value1';
$myArray[32]['type'] = 'type1';
$myArray[33]['value'] = 'value2';
$myArray[33]['type'] = 'type2';
$myArray[35]['value'] = 'value3';
$myArray[42]['value'] = 'value4';
$myArray[42]['type'] = 'type4';
好的,寻找快速方法将第一个键32,33,35和42中的所有数字改为0,1,2和3。但我需要保留第二个键和所有值。数组已经正确排序,因为我使用ksort命令它,但现在我需要从0重置数组 - 计数($ myArray) - 1并保持第二个键完整及其值。
有人可以帮帮我吗?
答案 0 :(得分:1)
$myArray = array_values($myArray);
答案 1 :(得分:0)
可能有更简单的解决方案,但这是一个有效的解决方案:
$myArray = array();
$myArray[32]['value'] = 'value1';
$myArray[32]['type'] = 'type1';
$myArray[33]['value'] = 'value2';
$myArray[33]['type'] = 'type2';
$myArray[35]['value'] = 'value3';
$myArray[42]['value'] = 'value4';
$myArray[42]['type'] = 'type4';
$map = array_flip(array_keys($myArray)); // map old keys to new keys.
$newarray = array();
foreach($myArray as $key => $value) {
$newarray[$map[$key]] = $value; // use new key and old value.
}
答案 2 :(得分:0)
你不需要它。为什么不单独留下这个阵列呢?不必要的举动会导致代码混乱。