本文整理汇总了PHP中qtism\common\utils\Format::isPair方法的典型用法代码示例。如果您正苦于以下问题:PHP Format::isPair方法的具体用法?PHP Format::isPair怎么用?PHP Format::isPair使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类qtism\common\utils\Format
的用法示例。
在下文中一共展示了Format::isPair方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: stringToDatatype
/**
* Transform a string representing a QTI valueType value in a
* the correct datatype.
*
* @param string $string The QTI valueType value as a string.
* @param integer $baseType The QTI baseType that defines the datatype of $string.
* @return mixed A converted object/primitive type.
* @throws \InvalidArgumentException If $baseType is not a value from the BaseType enumeration.
* @throws \UnexpectedValueException If $string cannot be transformed in a Value expression with the given $baseType.
*/
public static function stringToDatatype($string, $baseType)
{
if (in_array($baseType, BaseType::asArray())) {
$value = null;
switch ($baseType) {
case BaseType::BOOLEAN:
if (Format::isBoolean($string)) {
$value = Format::toLowerTrim($string) == 'true' ? true : false;
return $value;
} else {
$msg = "'{$string}' cannot be transformed into boolean.";
throw new UnexpectedValueException($msg);
}
break;
case BaseType::INTEGER:
if (Format::isInteger($string)) {
$value = intval($string);
return $value;
} else {
$msg = "'{$string}' cannot be transformed into integer.";
throw new UnexpectedValueException($msg);
}
break;
case BaseType::FLOAT:
if (Format::isFloat($string)) {
$value = floatval($string);
return $value;
} else {
$msg = "'{$string}' cannot be transformed into float.";
throw new UnexpectedValueException($msg);
}
break;
case BaseType::URI:
if (Format::isUri($string)) {
return $string;
} else {
$msg = "'{$string}' is not a valid URI.";
throw new UnexpectedValueException($msg);
}
break;
case BaseType::IDENTIFIER:
if (Format::isIdentifier($string)) {
return $string;
} else {
$msg = "'{$string}' is not a valid QTI Identifier.";
throw new UnexpectedValueException($msg);
}
break;
case BaseType::INT_OR_IDENTIFIER:
if (Format::isIdentifier($string)) {
return $string;
} elseif (Format::isInteger($string)) {
return intval($string);
} else {
$msg = "'{$string}' is not a valid QTI Identifier nor a valid integer.";
throw new UnexpectedValueException($msg);
}
break;
case BaseType::PAIR:
if (Format::isPair($string)) {
$pair = explode(" ", $string);
return new Pair($pair[0], $pair[1]);
} else {
$msg = "'{$string}' is not a valid pair.";
throw new UnexpectedValueException($msg);
}
break;
case BaseType::DIRECTED_PAIR:
if (Format::isDirectedPair($string)) {
$pair = explode(" ", $string);
return new DirectedPair($pair[0], $pair[1]);
} else {
$msg = "'{$string}' is not a valid directed pair.";
throw new UnexpectedValueException($msg);
}
break;
case BaseType::DURATION:
if (Format::isDuration($string)) {
return new Duration($string);
} else {
$msg = "'{$string}' is not a valid duration.";
throw new UnexpectedValueException($msg);
}
break;
case BaseType::FILE:
throw new \RuntimeException("Unsupported baseType: file.");
break;
case BaseType::STRING:
return '' . $string;
break;
//.........这里部分代码省略.........