function serializeArray($result, $instance, $isSimpleResult, $serverKey) { $json = ""; if (is_array($result)) { if (ArrayUtils::isAssociative($result)) { $json .= "{"; foreach ($result as $key => $value) { $json .= '"' . $key . '":'; if (is_object($value)) { $json .= serializeObject($value, $instance, false, $serverKey); } else { if (is_array($value)) { $json .= serializeArray($value, $instance, $isSimpleResult, $serverKey); } else { $json .= serializeObject($value, $instance, !is_object($value), $serverKey); } } $json .= ","; } } else { $json .= "["; for ($i = 0; $i < count($result); $i++) { $json .= serializeObject($result[$i], $instance, $isSimpleResult, $serverKey) . ","; } } $json = JsonUtils::removeLastChar($result, $json); if (ArrayUtils::isAssociative($result)) { $json .= "}"; } else { $json .= "]"; } } return $json; }
function testIsAssociative() { $this->assertFalse(ArrayUtils::isAssociative(null)); $this->assertFalse(ArrayUtils::isAssociative(array())); $this->assertFalse(ArrayUtils::isAssociative(array(1, 2, 3))); $this->assertFalse(ArrayUtils::isAssociative(array("value", 2, false))); $this->assertTrue(ArrayUtils::isAssociative(array("key1" => "value1", "key2" => "value2"))); }