PHP ActiveX
PHP ActiveX
JSON: Nested Array
See more JSON Examples
Here we have a JSON object that contains nested arrays. This example demonstrates how to access the contents of the nested arrays.
{
"numbers" : [
["even", 2, 4, 6, 8],
["prime", 2, 3, 5, 7, 11, 13]
] }
Chilkat PHP ActiveX Downloads
<?php
$success = 0;
$json = new COM("Chilkat.JsonObject");
// This is the above JSON with whitespace chars removed (SPACE, TAB, CR, and LF chars).
// The presence of whitespace chars for pretty-printing makes no difference to the Load
// method.
$jsonStr = '{ \'numbers\' : [ [\'even\', 2, 4, 6, 8], [\'prime\', 2, 3, 5, 7, 11, 13] ] }';
$success = $json->Load($jsonStr);
if ($success != 1) {
print $json->LastErrorText . "\n";
exit;
}
// Get the value of the "numbers" object, which is an array that contains JSON arrays.
// outerArray is a Chilkat.JsonArray
$outerArray = $json->ArrayOf('numbers');
if ($json->LastMethodSuccess == 0) {
print 'numbers array not found.' . "\n";
exit;
}
$numArrays = $outerArray->Size;
for ($i = 0; $i <= $numArrays - 1; $i++) {
// innerArray is a Chilkat.JsonArray
$innerArray = $outerArray->ArrayAt($i);
// The first item in the innerArray is a string
print $innerArray->stringAt(0) . ':' . "\n";
$numInnerItems = $innerArray->Size;
for ($j = 1; $j <= $numInnerItems - 1; $j++) {
print ' ' . $innerArray->IntAt($j) . "\n";
}
}
?>