ex

Fork of mbed-os-example-mbed5-blinky by mbed-os-examples

Committer:
TMBOY
Date:
Tue Jul 18 16:27:22 2017 +0800
Revision:
44:c1d8923072ba
?

Who changed what in which revision?

UserRevisionLine numberNew contents of line
TMBOY 44:c1d8923072ba 1 <?php
TMBOY 44:c1d8923072ba 2
TMBOY 44:c1d8923072ba 3 namespace JsonSchema\Constraints\TypeCheck;
TMBOY 44:c1d8923072ba 4
TMBOY 44:c1d8923072ba 5 class LooseTypeCheck implements TypeCheckInterface
TMBOY 44:c1d8923072ba 6 {
TMBOY 44:c1d8923072ba 7 public static function isObject($value)
TMBOY 44:c1d8923072ba 8 {
TMBOY 44:c1d8923072ba 9 return
TMBOY 44:c1d8923072ba 10 is_object($value) ||
TMBOY 44:c1d8923072ba 11 (is_array($value) && (count($value) == 0 || self::isAssociativeArray($value)));
TMBOY 44:c1d8923072ba 12 }
TMBOY 44:c1d8923072ba 13
TMBOY 44:c1d8923072ba 14 public static function isArray($value)
TMBOY 44:c1d8923072ba 15 {
TMBOY 44:c1d8923072ba 16 return
TMBOY 44:c1d8923072ba 17 is_array($value) &&
TMBOY 44:c1d8923072ba 18 (count($value) == 0 || !self::isAssociativeArray($value));
TMBOY 44:c1d8923072ba 19 }
TMBOY 44:c1d8923072ba 20
TMBOY 44:c1d8923072ba 21 public static function propertyGet($value, $property)
TMBOY 44:c1d8923072ba 22 {
TMBOY 44:c1d8923072ba 23 if (is_object($value)) {
TMBOY 44:c1d8923072ba 24 return $value->{$property};
TMBOY 44:c1d8923072ba 25 }
TMBOY 44:c1d8923072ba 26
TMBOY 44:c1d8923072ba 27 return $value[$property];
TMBOY 44:c1d8923072ba 28 }
TMBOY 44:c1d8923072ba 29
TMBOY 44:c1d8923072ba 30 public static function propertyExists($value, $property)
TMBOY 44:c1d8923072ba 31 {
TMBOY 44:c1d8923072ba 32 if (is_object($value)) {
TMBOY 44:c1d8923072ba 33 return property_exists($value, $property);
TMBOY 44:c1d8923072ba 34 }
TMBOY 44:c1d8923072ba 35
TMBOY 44:c1d8923072ba 36 return array_key_exists($property, $value);
TMBOY 44:c1d8923072ba 37 }
TMBOY 44:c1d8923072ba 38
TMBOY 44:c1d8923072ba 39 public static function propertyCount($value)
TMBOY 44:c1d8923072ba 40 {
TMBOY 44:c1d8923072ba 41 if (is_object($value)) {
TMBOY 44:c1d8923072ba 42 return count(get_object_vars($value));
TMBOY 44:c1d8923072ba 43 }
TMBOY 44:c1d8923072ba 44
TMBOY 44:c1d8923072ba 45 return count($value);
TMBOY 44:c1d8923072ba 46 }
TMBOY 44:c1d8923072ba 47
TMBOY 44:c1d8923072ba 48 /**
TMBOY 44:c1d8923072ba 49 * Check if the provided array is associative or not
TMBOY 44:c1d8923072ba 50 *
TMBOY 44:c1d8923072ba 51 * @param array $arr
TMBOY 44:c1d8923072ba 52 *
TMBOY 44:c1d8923072ba 53 * @return bool
TMBOY 44:c1d8923072ba 54 */
TMBOY 44:c1d8923072ba 55 private static function isAssociativeArray($arr)
TMBOY 44:c1d8923072ba 56 {
TMBOY 44:c1d8923072ba 57 return (array_keys($arr) !== range(0, count($arr) - 1));
TMBOY 44:c1d8923072ba 58 }
TMBOY 44:c1d8923072ba 59 }