| Server IP : 217.160.0.135 / Your IP : 216.73.217.85 Web Server : Apache System : Linux www 6.18.52-i1-ampere #1203 SMP Mon Sep 14 18:29:59 CEST 2026 aarch64 User : sws1074145052 ( 1074145052) PHP Version : 8.3.32 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /usr/share/php/JsonSchema/Constraints/TypeCheck/ |
Upload File : |
<?php
namespace JsonSchema\Constraints\TypeCheck;
class LooseTypeCheck implements TypeCheckInterface
{
public static function isObject($value)
{
return
is_object($value) ||
(is_array($value) && (count($value) == 0 || self::isAssociativeArray($value)));
}
public static function isArray($value)
{
return
is_array($value) &&
(count($value) == 0 || !self::isAssociativeArray($value));
}
public static function propertyGet($value, $property)
{
if (is_object($value)) {
return $value->{$property};
}
return $value[$property];
}
public static function propertySet(&$value, $property, $data)
{
if (is_object($value)) {
$value->{$property} = $data;
} else {
$value[$property] = $data;
}
}
public static function propertyExists($value, $property)
{
if (is_object($value)) {
return property_exists($value, $property);
}
return array_key_exists($property, $value);
}
public static function propertyCount($value)
{
if (is_object($value)) {
return count(get_object_vars($value));
}
return count($value);
}
/**
* Check if the provided array is associative or not
*
* @param array $arr
*
* @return bool
*/
private static function isAssociativeArray($arr)
{
return array_keys($arr) !== range(0, count($arr) - 1);
}
}