我正在尝试将此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,它看起来是相同的。这是一个问题,因为非动态字符串有效。
答案 0 :(得分:1)
用户名之间的分隔符是逗号+空格,当你爆炸时你只是使用逗号,所以第二个和后面的用户名在开头就是一个空格。尝试:
$myArray = explode(', ', $list);
我建议您更改JSON结构,以便存储实际数组,而不是以逗号分隔的列表。
{
"users": ["user1", "user2"]
}
更好的是更改数据库结构,以便用户在真实的表中,而不是用JSON包装。这将允许您执行轻松有效地搜索用户的查询。