I have this json string as below:
$json = '[{"sessionNo":"1","sessionData":["4","6"]},{"sessionNo":"2","sessionData":["2"]},{"sessionNo":"3"}]';
I want to "translate" it as a PHP array. I tried to do the following but it returns an empty array :
var_dump(json_decode($json))
**UPDATE**
Now I am getting this:
array (size=3)
0 =>
array (size=2)
'sessionNo' => string '1' (length=1)
'sessionData' =>
array (size=2)
0 => string '4' (length=1)
1 => string '6' (length=1)
1 =>
array (size=2)
'sessionNo' => string '2' (length=1)
'sessionData' =>
array (size=1)
0 => string '2' (length=1)
2 =>
array (size=1)
'sessionNo' => string '3' (length=1)
I want to loop through this array so I get for each sessionNo
the corresponding SessionData
, smth like:
sessionNo SessionData
1 4
1 6
2 2
You can use something like...
$json = '[{"sessionNo":"1","sessionData":["4","6"]},{"sessionNo":"2","sessionData":["2"]},{"sessionNo":"3"}]';
$array = json_decode($json, true);
foreach ( $array as $session ) {
if ( isset ($session['sessionData'])){
foreach ( $session['sessionData'] as $data ) {
echo $session['sessionNo']."-".$data.PHP_EOL;
}
}
}
This is just converting the data and then loop over the arrays in a foreach()
, only doing the inner one if there is any sessionData. This outputs..
1-4
1-6
2-2