将整数数组键转换为字符串数组键

时间:2014-05-05 16:21:23

标签: php arrays

如何将以下数组的键转换为PHP中的字符串?

$array = array(
    0 => 'a',
    1 => 'b'
);

预期:

$array = array(
    '0' => 'a',
    '1' => 'b'
);

基本上我需要将普通数组更改为关联数组,但键不能是整数,因为ZF1中存在错误。

更新

ZF1中的错误不是错误,而是保留字;请查看另一个问题Zend multiCheckbox default values bug以解释为什么我认为我需要这个问题。

1 个答案:

答案 0 :(得分:5)

这是不可能的。

PHP将在内部检测到它是一个数字(甚至在引号中)并将其转换回来。如果您注意到:原始阵列和最终阵列是相同的。那是因为PHP会自动为你投射它。

防止这种情况的唯一方法是不使用数字。你可以在数字前加上:

$a = [
    "_0" => "a",
    "_1" => "b",
]

但总的来说,你不想这样做。正如你所说的那样,你认为它的代码甚至都不需要它。

如果你想知道为什么它会为你而战。我有一个回应。因为:

Because PHP