This question already has answers here:
How to loop through PHP object with dynamic keys [duplicate]
(16 answers)
Closed 5 years ago.
if i solve this i will have my desired result for any expert this will take few minutes to guess and i am stuck in this from last 2 hours searching and googling but couldn't found the one i want. Okay so here is the thing ...
I am sending data through ajax to my php by doing JSON.stringify and receving that that to my php in the form of this
{"0":["BE","test","test","1993"],"1":["HSSC","test","test","1995"]}
All i want to do is to get the values and insert them to the separate variables.
You need to use json_decode to convert the string to array. You can pass the second parameter to this method to convert this to array instead of object. Then you can retrieve the data like
$string = '{"0":["BE","test","test","1993"],"1":["HSSC","test","test","1995"]}';
$array = json_decode($string, true);
print_r($array[0][0]);
Here's the example of it https://repl.it/HhI8/1
Related
This question already has answers here:
How to loop through PHP object with dynamic keys [duplicate]
(16 answers)
Closed 3 years ago.
I set up a new site and want a workaround for the problem.
I have this text in the mysql table
{"200":"5","220":"0","65":"4","80":"0","199":"1","197":"1","198":"0","257":"4","223":"0"}
I want to fetch the ID and its value by php
For example
$id[200] = 5
You can use json_decode() to convert JSON string into an array. Since your JSON string contains numeric indexes so you need to use curly brackets to fetch the values
$str = '{"200":"5","220":"0","65":"4","80":"0","199":"1","197":"1","198":"0","257":"4","223":"0"}';
$array = json_decode($str);
echo $array->{'200'};
Or you can add second parameter in json_decode as true to fetch the value as normal array
$array = json_decode($str,true);
echo $array[200];
Here is the live demo
This question already has an answer here:
How to extract and access data from JSON with PHP?
(1 answer)
Closed 4 years ago.
I have been scratching my head with this one and wonder if anybody would be kind enough to give me a pointer. I am extracting some data as a variable from JSON to PHP, and I can do this no problem when there are nested nodes - IF the node is a text but not if the node is a number. I am using json_decode
THIS IS NOT THE SAME AS How do I extract data from JSON with PHP?
This is ok
$get_temp = $jsonobj->main->temp;
This is not working
$get_weather = $jsonobj->main->0->weather;
So my question is how do I target the node when it is a number?
Thanks
Probabily you have an array into main node.. so you can get its value with an index like this:
$get_weather = $jsonobj->main[0]->weather;
Where 0 is the index that you want to get
$get_weather = $jsonobj->main[$x]->weather;
$x would be the index
This should work:
$get_weather = $jsonobj->main[0]->weather;
This question already has answers here:
What kind of string is this? How do I unserialize this string? [duplicate]
(2 answers)
Closed 6 years ago.
I receive a really long json array like following:
a:2:{s:18:"_gravity_form_lead";a:227:{s:3:"3.2";s:0:"";s:3:"3.3";s:5:"Name";s:3:"3.4";s:0:"";s:3:"3.6";s:1:"T";s:3:"3.8";s:0:"";i:4;s:14:"123456789-3505";i:6;s:0:"";s:3:"7.1";s:0:"";s:3:"9.2";s:0:"";s:3:"9.3";s:0:"";s:3:"9.4";s:0:"";s:3:"9.6";s:0:"";s:3:"9.8";s:0:"";i:12;s:0:"";i:10;s:0:"";i:11;s:0:"";s:4:"13.1";s:0:"";s:4:"13.2";s:0:"";s:4:"13.3";s:0:"";s:4:"13.4";s:0:"";s:4:"13.5";s:0:"";s:4:"13.6";s:0:"";i:14;s:0:"";i:15;s:0:"";i:16;s:0:"";i:84;s:0:"";i:85;s:0:"";i:18;s:0:"";i:19;s:0:"";i:20;s:0:"";i:21;s:0:"";i:22;s:0:"";i:88;s:0:"";i:89;s:0:"";i:90;s:0:"";i:91;s:0:"";i:92;s:0:"";i:93;s:0:"";i:94;s:0:"";i:96;s:0:"";i:97;s:0:"";i:98;s:0:"";i:102;s:0:"";i:99;s:0:"";i:100;s:0:"";i:101;s:0:"";i:104;s:0:"";i:105;s:0:"";i:106;s:0:"";i:107;s:0:"";i:108;s:0:"";i:109;s:0:"";i:110;s:0:"";i:112;s:0:"";i:113;s:0:"";i:114;s:0:"";i:115;s:0:"";i:116;s:0:"";i:117;s:0:"";i:118;s:0:"";s:4:"28.1";s:0:"";s:4:"28.2";s:0:"";s:4:"28.3";s:0:"";s:4:"28.4";s:0:"";s:4:"28.5";s:0:"";s:4:"28.6";s:0:"";i:29;s:0:"";i:30;s:0:"";s:4:"33.1";s:0:"";s:4:"33.2";s:0:"";s:4:"33.3";s:0:"";s:4:"33.4";s:0:"";s:4:"33.5";s:0:"";s:4:"33.6";s:0:"";i:35;s:0:"";i:36;s:0:"";i:37;s:0:"";i:38;s:0:"";i:41;s:0:"";s:4:"39.1";s:0:"";s:4:"39.2";s:0:"";s:4:"39.3";s:0:"";s:4:"39.4";s:0:"";s:4:"39.5";s:0:"";s:4:"39.6";s:0:"";i:121;s:0:"";i:122;s:0:"";i:123;s:0:"";i:124;s:0:"";i:126;s:0:"";s:5:"125.1";s:0:"";s:5:"125.2";s:0:"";s:5:"125.3";s:0:"";s:5:"125.4";s:0:"";s:5:"125.5";s:0:"";s:5:"125.6";s:0:"";i:128;s:0:"";i:129;s:0:"";i:130;s:0:"";i:131;s:0:"";i:132;s:0:"";s:5:"133.1";s:0:"";s:5:"133.2";s:0:"";s:5:"133.3";s:0:"";s:5:"133.4";s:0:"";s:5:"133.5";s:0:"";s:5:"133.6";s:0:"";i:135;s:0:"";i:136;s:0:"";i:137;s:0:"";i:138;s:0:"";i:139;s:0:"";s:5:"140.1";s:0:"";s:5:"140.2";s:0:"";s:5:"140.3";s:0:"";s:5:"140.4";s:0:"";s:5:"140.5";s:0:"";s:5:"140.6";s:0:"";i:142;s:0:"";i:143;s:0:"";i:144;s:0:"";i:145;s:0:"";i:146;s:0:"";i:149;s:0:"";i:150;s:0:"";i:151;s:0:"";i:152;s:0:"";i:153;s:0:"";s:5:"147.1";s:0:"";s:5:"147.2";s:0:"";s:5:"147.3";s:0:"";s:5:"147.4";s:0:"";s:5:"147.5";s:0:"";s:5:"147.6";s:0:"";i:155;s:0:"";i:156;s:0:"";i:157;s:0:"";i:158;s:0:"";i:159;s:0:"";s:5:"160.1";s:0:"";s:5:"160.2";s:0:"";s:5:"160.3";s:0:"";s:5:"160.4";s:0:"";s:5:"160.5";s:0:"";s:5:"160.6";s:0:"";i:162;s:0:"";i:163;s:0:"";i:164;s:0:"";i:165;s:0:"";i:166;s:0:"";s:5:"167.1";s:0:"";s:5:"167.2";s:0:"";s:5:"167.3";s:0:"";s:5:"167.4";s:0:"";s:5:"167.5";s:0:"";s:5:"167.6";s:0:"";i:169;s:0:"";i:170;s:0:"";i:171;s:0:"";i:172;s:0:"";i:173;s:0:"";s:5:"174.1";s:0:"";s:5:"174.2";s:0:"";s:5:"174.3";s:0:"";s:5:"174.4";s:0:"";s:5:"174.5";s:0:"";s:5:"174.6";s:0:"";i:176;s:0:"";i:177;s:0:"";i:178;s:0:"";i:179;s:0:"";i:180;s:0:"";s:5:"181.1";s:0:"";s:5:"181.2";s:0:"";s:5:"181.3";s:0:"";s:5:"181.4";s:0:"";s:5:"181.5";s:0:"";s:5:"181.6";s:0:"";i:40;s:0:"";i:43;s:2:"Ne";i:184;s:0:"";i:185;s:0:"";i:48;s:0:"";i:187;s:0:"";i:188;s:0:"";i:189;s:0:"";i:191;s:0:"";i:192;s:0:"";i:193;s:0:"";i:195;s:0:"";i:196;s:0:"";i:197;s:0:"";i:199;s:0:"";i:200;s:0:"";i:201;s:0:"";i:44;s:0:"";i:45;s:0:"";i:50;s:2:"Ne";i:51;s:2:"Ne";i:52;s:2:"Ne";i:53;s:0:"";i:55;s:0:"";i:56;s:0:"";i:57;s:0:"";i:58;s:0:"";i:59;s:0:"";i:60;s:2:"Ne";i:61;s:2:"Ne";i:62;s:0:"";i:69;s:2:"Ne";i:70;s:0:"";i:71;s:0:"";i:72;s:0:"";i:77;s:0:"";i:78;s:0:"";i:79;s:0:"";i:80;s:0:"";i:81;s:0:"";i:203;s:0:"";i:204;s:27:"56f26f5862fb85.90873638.png";}s:18:"_gravity_form_data";a:14:{s:2:"id";s:1:"1";s:13:"display_title";b:0;s:19:"display_description";b:0;s:25:"disable_woocommerce_price";s:3:"yes";s:12:"price_before";s:0:"";s:11:"price_after";s:0:"";s:20:"disable_calculations";s:3:"yes";s:22:"disable_label_subtotal";s:3:"yes";s:21:"disable_label_options";s:2:"no";s:19:"disable_label_total";s:3:"yes";s:14:"disable_anchor";s:2:"no";s:14:"label_subtotal";s:8:"Subtotal";s:13:"label_options";s:7:"Options";s:11:"label_total";s:5:"Total";}}
I need to extract the name of the png which in this array is: 56f26f5862fb85.90873638.png. The value is the following context:
i:204;s:27:"56f26f5862fb85.90873638.png";
It would be really convenient if I could look the name after the 204 which is always fixec.
Any guidance or suggestion as for how to solve it is much appreciated.
That is a serialized PHP value, created using the serialize() function.
You can unserialize it using the unserialize() function:
$data = unserialize('a:2:{s:18:"_gravity [...] tal";s:5:"Total";}}');
This question already has answers here:
Trying to parse JSON with PHP
(2 answers)
Accessing JSON array after json_decode/multidimensional array
(3 answers)
Closed 8 years ago.
I am receiving a multilevel json like this:
{"id":"3",
"field2":"ssss",
"field3":[
{"field31":"wwwww",
"field32":"qqqq"},
{"field31":"wwwww",
"field32":"qqqq"},
{"field31":"wwwww",
"field32":"qqqq"},
]}
I am reading json values (first level) like this in php:
$json = file_get_contents('php://input');
$json_post = json_decode(utf8_decode($json), true);
$id = $json_post['id'];
But I don't know how to get the json in the second level. What is the simplest way? I just need to get the json in other variable like $json_post, I will read it in a for bucle to get each row of the json file
It's going to give you a PHP object if you run json_decode(utf8_decode($json));
echo $json_post->field3->field31;
EDIT: I missed that you were using the conversion to array. This is what the array would look like
echo $json_post['field3']['field31'];
This question already has answers here:
Parse query string into an array
(12 answers)
Closed 9 years ago.
How can I convert this to an array in PHP?
&height=0&weight=2&width=10
I'm passing a data from a jquery function using .serialize() to a PHP function.
Any ideas?
Can be done within one line. :)
parse_str('&height=0&weight=2&width=10', $array);
print_r($array);
Depending on what type of request you are performing, it may already be in an array. Have a look at the PHP documentation on $_GET and $_POST global variables.
To view the contents of said array. You can use the function print_r() which will show you the contents of the array.
print_r($_GET)
print_r($_POST)
Access individual items in the array by the item's key. For example:
echo $_POST['height'];