我被困在数组中的某个地方。我得到一个这样的数组:
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]
;它们是0
和1
的整数,风格化用于调试输出。
如果您愿意,您可以使用字符串键(即 ["0"]
和["1"]
在输出中),但由于 PHP 无论如何都会根据需要在两者之间强制,所以真的没有意义。