在PHP中更改数组中的所有键

时间:2019-04-15 12:28:37

标签: php arrays

所以我在玩数组,我想替换数组中的所有键,所以我有了这个数组:

$array = array(1,5,8,0);

这是我更换钥匙的方式:

function recursive_change_key($arr, $set) {
if (is_array($arr) && is_array($set)) {
    $newArr = array();
    foreach ($arr as $k => $v) {
        $key = array_key_exists( $k, $set) ? $set[$k] : $k;
        $newArr[$key] = is_array($v) ? recursive_change_key($v, $set) : $v;
    }
    return $newArr;
}
return $arr;
}
$length = sizeof($array);
for($i = 0; $i < $length; $i++)
{
  $people = recursive_change_key($array, array($i => "A"));
}

echo '<pre>';
print_r($people);
echo '</pre>';

所以我想做的是用A替换所有数组键,但这就是我得到的结果:

enter image description here

这就是我想要的结果:

enter image description here

(抱歉编辑不正确)

我不知道我在做什么错。你能帮忙吗?

1 个答案:

答案 0 :(得分:2)

无法获得您想要的结果。不能有多个具有相同密钥的条目。例如,假设您有通用数组$myArray,是否可以有3个$myArray[0]?答案是否定的,并且关联数组的情况相同。