Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何修复php数组格式json错误_Php_Mysql_Arrays_Json - Fatal编程技术网

如何修复php数组格式json错误

如何修复php数组格式json错误,php,mysql,arrays,json,Php,Mysql,Arrays,Json,这是我的mysql脚本 $result = mysql_query("SELECT users.*,games.game_names,games.id AS games_id FROM users LEFT JOIN games ON FIND_IN_SET(games.id,users.games)") or die(mysql_error()); while($user = mysql_fetch_array($result, MYSQL_ASSOC)) { $

这是我的mysql脚本

$result = mysql_query("SELECT users.*,games.game_names,games.id AS games_id
FROM users
LEFT JOIN games ON FIND_IN_SET(games.id,users.games)") or die(mysql_error());   
while($user = mysql_fetch_array($result, MYSQL_ASSOC)) {        
    $array = $user['games'];
    $name   =   $user['game_names'];
    $pieces = explode(",", $name);          
    $users[] = array(
                'users'=>array(
                    'id' => $user['id'],
                    'user' => $user['user'],
                    'games' =>  $pieces
                )
    );      

}   
$output = json_encode(array('statics' => $users));
echo $output;
我有2个用户。用户1有4个游戏。用户2有3个游戏

我越来越

{
statics: [
    {
        users: {
            id: "1",
            user: "user1",
            games: [
                "football"
            ]
        }
    },
    {
        users: {
            id: "1",
            user: "user1",
            games: [
                "cricket"
            ]
        }
    },
    {
    users: {
        id: "1",
            user: "user1",
            games: [
                "athletics"
            ]
        }
    },
    {
        users: {
            id: "1",
            user: "user1",
            games: [
                "badminton"
            ]
        }
    },
    {
        users: {
            id: "2",
            user: "user2",
            games: [
                "athletics"
            ]
        }
    },
        {
        users: {
            id: "2",
            user: "user2",
            games: [
                "badminton"
            ]
        }
    },
    {
        users: {
            id: "2",
            user: "user2",
            games: [
                "basketball"
            ]
        }
    }
]
}
但我必须排序,并需要以下格式

    {
statics: [
    {
        users: {
            id: "1",
            user: "user1",
            games: [
                "football",
                "cricket",
                "athletics",
                "badminton"
            ]
        }
    },        
    {
        users: {
            id: "2",
            user: "user2",
            games: [
                "athletics",
                "badminton",
                "basketball"
            ]
        }
    }

]
}
如何准备查询以获得此结果?

请尝试以下代码:

$result = mysql_query("SELECT users.*,games.game_names,games.id AS games_id
FROM users
LEFT JOIN games ON FIND_IN_SET(games.id,users.games)") or die(mysql_error());   
$result_array=array();
while($user = mysql_fetch_array($result, MYSQL_ASSOC)) {        
    $name   = $user['game_names'];
    $pieces = explode(",", $name);
    array_push($result_array, array(
        'users'=>array(
            'id' => $user['id'],
            'user' => $user['user'],
            'games' =>  $pieces
        )
    ));
}   
$output = json_encode(array('statics' => $result_array));
echo $output;

你能打印你问题中的
$users
数组吗?@plainjane..u可以在“我正在获取”部分看到数组结果,这是json我想要一个数组,以便我可以测试它..@plainjane我不知道如何创建数组…我正在尝试