protected static function _isSubject($v) {
    // Note: A value is a subject if all of these hold true:
    // 1. It is an Object.
    // 2. It is not a @value, @set, or @list.
    // 3. It has more than 1 key OR any existing key is not @id.
    $rval = false;
    if(is_object($v) &&
      !property_exists($v, '@value') &&
      !property_exists($v, '@set') &&
      !property_exists($v, '@list')) {
      $count = count(get_object_vars($v));
      $rval = ($count > 1 || !property_exists($v, '@id'));
    }
    return $rval;
  }
protected static function _isSubject($v) {
    // Note: A value is a subject if all of these hold true:
    // 1. It is an Object.
    // 2. It is not a @value, @set, or @list.
    // 3. It has more than 1 key OR any existing key is not @id.
    $rval = false;
    if(is_object($v) &&
      !property_exists($v, '@value') &&
      !property_exists($v, '@set') &&
      !property_exists($v, '@list')) {
      $count = count(get_object_vars($v));
      $rval = ($count > 1 || !property_exists($v, '@id'));
    }
    return $rval;
  }
protected static function _isSubject ( $ v ) { // Note: A value is a subject if all of these hold true: // 1. It is an Object. // 2. It is not a @value, @set, or @list. // 3. It has more than 1 key OR any existing key is not @id. $ rval = false ; if ( is_object ( $ v ) && ! property_exists ( $ v , '@value' ) && ! property_exists ( $ v , '@set' ) && ! property_exists ( $ v , '@list' ) ) { $ count = count ( get_object_vars ( $ v ) ) ; $ rval = ( $ count > 1 || ! property_exists ( $ v , '@id' ) ) ; } return $ rval ; }
Returns true if the given value is a subject with properties.

@param mixed $v the value to check.

@return bool true if the value is a subject with properties, false if not.
Returns true if the given value is a subject with properties .