So, I have a link that returns a jSON object, and I need it to be decoded and put into variables in PHP.
URL
api.php?action=getThreads&hash=123fajwersa&node_id=4&order_by=post_date&order=desc&limit=1&grab_content&content_limit=1
This is an object that returns
{ "count": 1, "threads": { "38752": { "thread_id": 38752, "node_id": 4, "title": "The ShadyCraft Beta Launch!", "reply_count": 45, "view_count": 946, "user_id": 2, "username": "Shady", "post_date": 1366956695, "sticky": 0, "discussion_state": "visible", "discussion_open": 1, "discussion_type": "", "first_post_id": 226167, "first_post_likes": 7, "last_post_date": 1369094302, "last_post_id": 228226, "last_post_user_id": 2, "last_post_username": "Shady", "prefix_id": 19, "tinhte_xentag_tags": "a:4:{i:0;s:9:\"minecraft\";i:2;s:4:\"news\";i:3;s:14:\"private server\";i:1;s:10:\"shadycraft\";}", "content": { "count": 1, "content": { "226167": { "post_id": 226167, "thread_id": 38752, "user_id": 2, "username": "Shady", "post_date": 1366956695, "message": "[ATTACH=full]4143[\/ATTACH]\n \nWe've completely restructured ShadyCraft, and today will be the launch of the ShadyCraft beta.\n \nCurrent Features\n[LIST]\n[*]Towns\n[*]Nations\n[*]All out wars\n[*]A live update map\n[*]No White-list\n[*]Earn Money\n[*]Griefing allowed where possible\n[\/LIST]\nThese are just some features which have a lot more things behind them. For instance, there is town and nation upkeep, tax, kingdoms, mayors, and kings.\n \nWe really wanted to have the server self-governed and this is why griefing and PvP are allowed where ever they are possible. All towns and nations cannot be griefed by other members. You can create a town and buy plots for it and expand the town as you wish.\n \n[SIZE=4]All of this is shown in the live updating map located [URL='http:\/\/50.7.6.116:8123']here[\/URL].[\/SIZE]\n \n[SIZE=4][SIZE=6]Join the Beta Now[\/SIZE][\/SIZE]\n[SIZE=6]Server-IP: 50.7.6.116[\/SIZE]\n \n \n[USER=118053]Frenchy[\/USER] and [USER=4863]Wolfbane[\/USER]", "ip_id": 747429, "message_state": "visible", "attach_count": 1, "position": 0, "likes": 7, "like_users": "a:5:{i:0;a:2:{s:7:\"user_id\";i:105699;s:8:\"username\";s:6:\"kvothe\";}i:1;a:2:{s:7:\"user_id\";i:146724;s:8:\"username\";s:12:\"Graveyard219\";}i:2;a:2:{s:7:\"user_id\";i:70182;s:8:\"username\";s:9:\"wmbrown18\";}i:3;a:2:{s:7:\"user_id\";i:5473;s:8:\"username\";s:9:\"Oblivious\";}i:4;a:2:{s:7:\"user_id\";i:118053;s:8:\"username\";s:7:\"Frenchy\";}}", "warning_id": 0, "warning_message": "", "anonymous_posting_real_user_id": 0, "anonymous_posting_real_username": "" } } } } } }
I'm really only interested
"title":"The ShadyCraft Beta Launch!", "reply_count:"45, "view_count": 946, "user_id":2, "username":"Shady", "post_date":1366956695, "sticky":0, "discussion_state":"visible", "discussion_open":1,
and finally message
[ATTACH=full]4143[/ATTACH] We've completely restructured ShadyCraft, and today will be the launch of the ShadyCraft beta. Current Features [LIST] [*]Towns [*]Nations [*]All out wars [*]A live update map [*]No White-list [*]Earn Money [*]Griefing allowed where possible [/LIST] These are just some features which have a lot more things behind them. For instance, there is town and nation upkeep, tax, kingdoms, mayors, and kings. We really wanted to have the server self-governed and this is why griefing and PvP are allowed where ever they are possible. All towns and nations cannot be griefed by other members. You can create a town and buy plots for it and expand the town as you wish. [SIZE=4]All of this is shown in the live updating map located [URL='http://50.7.6.116:8123']here[/URL].[/SIZE] [SIZE=4][SIZE=6]Join the Beta Now[/SIZE][/SIZE] [SIZE=6]Server-IP: 50.7.6.116[/SIZE] [USER=118053]Frenchy[/USER] and [USER=4863]Wolfbane[/USER]
So, how can I extract the jSON object and put it in to fix variables in PHP that I can use later?
Variables like: $username , $user_id , $message , $title , $discussionState , etc.
I just need to know how I can get the jSON object and then extract the data into variables in PHP.
Now I can get the PHP array, but I am having problems causing the correct values. Here is the array.
Array ([count] => 1 [threads] => Array ([13] => Array ([thread_id] => 13 [node_id] => 4 [title] => Integration into the system is almost complete! [Reply_count] => 0 [view_count] => 0 [user_id] => 59 [username] => Faeron [post_date] => 1369257302 [sticky] => 0 [discussion_state] => visible [discussion_open] => 1 [discussion_type] => [first_post_id ] => 23 [first_post_likes] => 0 [last_post_date] => 1369257302 [last_post_id] => 23 [last_post_user_id] => 59 [last_post_username] => Faeron [prefix_id] => 1 [content] => Array ([count] => 1 [content] => Array ([23] => Array ([post_id] => 23 [thread_id] => 13 [user_id] => 59 [username] => Faeron [post_date] => 1369257302 [message ] => This has been a fairly long time since we started integrating phanime forums with the main site. We’ve completed the integration with Fanim Forums and the main site. You will no longer notice that there are two platforms running phanime, but only one instead. Our next step is the Forum Topic, to make it look like the main site! [ip_id] => 268 [message_state] => visible [attach_count] => 0 [position] => 0 [like] => 0 [like_users] => a: 0: {} [warning_id] => 0 [warning_message] =>)))))))
Now let's say that this array was called $array , and then, to get the first value of the "[count]" element, I can’t just say the following: print $array["[count]"] <- this returns an error.
How about an element that matters like the array itself, which is a [threads] element. How can I get the value of the [thread_id] element?