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

时间:2016-04-23 15:01:03

标签: php arrays

我被困在阵列中的某个地方。我得到的数组如下:

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

我希望将其转换为:

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

我已经在google上找到了这个但是没有找到任何解决方案,并且不认为它是对象数组。

有人可以帮助我。

由于

2 个答案:

答案 0 :(得分:0)

根据duplicated answer,您应该这样做

$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);

输出

array(2) { 
    [0]=> string(4) "name" 
    [1]=> string(11) "description" 
}

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

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

$data = array("name", "description");

echo $data[0]; // output: "name"
echo $data["0"]; // Also output: "name"

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

答案 1 :(得分:0)

您误读了输出。密钥不是[0][1];它们是整数01,为调试输出设计风格。

如果你愿意,你可以使用字符串键(即输出中的["0"]["1"]),但是因为PHP会根据需要在两者之间强制执行,所以真的没有意义