static function PackJson(&$binstr_writebuf, &$seek, $json, &$pubdict, &$localdict, $riseDictByKey, $riseDictByString) { if (is_string($json)) { //string v = node.AsString(); if ($riseDictByString == true && empty($json) == false && strlen($json) > 1 && in_array($json, $pubdict) == false) { $pubdict[] = $json; } JsonPack::PackJsonString($binstr_writebuf, $seek, $json, $pubdict, $localdict); } elseif (is_int($json) || is_float($json) || is_bool($json) || $json === null) { JsonPack::PackJsonNumber($binstr_writebuf, $seek, $json); } elseif (is_array($json)) { JsonPack::PackJsonArray($binstr_writebuf, $seek, $json, $pubdict, $localdict, $riseDictByKey, $riseDictByString); } elseif (is_object($json)) { JsonPack::PackJsonObject($binstr_writebuf, $seek, $json, $pubdict, $localdict, $riseDictByKey, $riseDictByString); } }