4 回答
TA贡献1836条经验 获得超4个赞
您的字符串不是有效的 json。
有效的 json 是:
$LearningNodesData = '{
"0":"5df31",
"1":"5df32",
"2":"5df33"
}';
TA贡献1796条经验 获得超10个赞
您正在尝试对字典进行编码/解码,并且您的预期结果是一个列表。如果您想要的结果是一个列表,那么试试这个!
$LearningNodesData = '["5df31","5df32","5df33"]';
不是这个
$LearningNodesData = '{ 0:"5df31", 1:"5df32", 2:"5df33" }';
TA贡献1936条经验 获得超6个赞
如果将对象转换为数组,它将始终返回带有键的值
$LearningNodesData = '{
"0":"5df31",
"1":"5df32",
"2":"5df33"
}';
$arr = json_decode($LearningNodesData,true);
print_r($arr);
//output
Array
(
[0] => 5df31
[1] => 5df32
[2] => 5df33
)
在最后的数组中,没有键或有键并不重要(如果它是数字键)。您所需的输出没有密钥,但您将通过它们的索引位置进行访问。
如果您不想将其作为数组,可以使用imploade()函数将其转换为逗号格式的字符串
echo imploade(',',$arr); //5df31,5df32,5df33
TA贡献1788条经验 获得超4个赞
如果我理解的话,你想回显/打印数组,但没有键?如果是这样:
<?php
$learningNodesData = '{
"0":"5df31",
"1":"5df32",
"2":"5df33"
}';
$decodedLearningNodesData = json_decode($learningNodesData, true);
$noKeysLearningNodesData = json_encode(array_values($decodedLearningNodesData));
print_r($noKeysLearningNodesData);
?>
将打印出:
["5df31","5df32","5df33"]
- 4 回答
- 0 关注
- 144 浏览
添加回答
举报