我被困在阵列中的某个地方。我得到的数组如下:
Array
(
[0] => name
[1] => description
)
我希望将其转换为:
Array
(
"0" => name
"1" => description
)
我已经在google上找到了这个但是没有找到任何解决方案,并且不认为它是对象数组。
有人可以帮助我。
由于
答案 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]
;它们是整数0
和1
,为调试输出设计风格。
如果你愿意,你可以使用字符串键(即输出中的["0"]
和["1"]
),但是因为PHP会根据需要在两者之间强制执行,所以真的没有意义