我正在尝试将这个JSON字符串转换为PHP数组。JSON字符串存储在我的数据库中,我已经检索到了它
{
"users": "user1, user2"
}
我需要将上面的JSON字符串转换为一个数组,如下所示,但要动态转换。
$myArray = array("user1", "user2")
这是我的代码:
$row = mysqli_fetch_array($result);
$json = $row['json'];
$decode = json_decode($json);
$list = $decode->users;
$myArray = explode(',', $list);
这段代码在我的程序中不起作用,但当我用print_r打印数组时,它看起来与从非动态字符串打印$myArray时完全相同。这是一个令人担忧的问题,因为非动态字符串是有效的。
用户名之间的分隔符是逗号+空格,爆炸时只使用逗号,所以第二个和后面的用户名在开头有一个空格。尝试:
$myArray = explode(', ', $list);
我建议您更改JSON结构,以便存储实际的数组,而不是逗号分隔的列表。
{
"users": ["user1", "user2"]
}
更好的方法是更改数据库结构,使用户位于一个真实的表中,而不是用JSON封装。这将允许您轻松高效地执行搜索用户的查询。