如何将数组索引键从 [] 转换为 “”


How to convert array index key from [] to ""

我被困在数组中的某个地方。我得到一个这样的数组:

Array
(
    [0] => name
    [1] => description
)

我想将其转换为:

Array
(
    "0" => name
    "1" => description
)

我已经在谷歌上找到了足够多的东西,但没有找到任何解决方案,也不认为它是对象数组。

有人可以帮我解决这个问题吗?

谢谢

根据重复的答案,你应该这样做

$data = array(0 =>'name', 1=> 'description');
$keys = array_keys($data);
$values = array_values($data);
$stringKeys = array_map('strval', $keys);
$data = array_combine($stringKeys, $values);
var_dump($data);

输出

数组(2) {    [0]=> 字符串(4) "名称"    [1]=> 字符串(11) "描述"}

那里有一个小的语法错误 - 应该array_map($keys, 'strval') array_map('strval', $keys)

顺便说一句,我不明白你为什么需要这个:

$data = array("name", "description");
echo $data[0]; // output: "name"
echo $data["0"]; // Also output: "name"

因此,在这两种情况下,您都会获得相同的输出

你误读了输出。钥匙不[0][1];它们是01的整数,风格化用于调试输出。

如果您愿意,您可以使用字符串键(即 ["0"]["1"]在输出中),但由于 PHP 无论如何都会根据需要在两者之间强制,所以真的没有意义。