YamlInline::evaluateScalar PHP Method

evaluateScalar() protected static method

Evaluates scalars and replaces magic values.
protected static evaluateScalar ( string $scalar ) : string
$scalar string
return string YAML
    protected static function evaluateScalar($scalar)
    {
        $scalar = trim($scalar);
        switch (true) {
            case 'null' == strtolower($scalar):
            case '' == $scalar:
            case '~' == $scalar:
                return null;
            case 0 === strpos($scalar, '!str'):
                return (string) substr($scalar, 5);
            case 0 === strpos($scalar, '! '):
                return intval(self::parseScalar(substr($scalar, 2)));
            case 0 === strpos($scalar, '!!php/object:'):
                return unserialize(substr($scalar, 13));
            case ctype_digit($scalar):
                $raw = $scalar;
                $cast = intval($scalar);
                return '0' == $scalar[0] ? octdec($scalar) : ((string) $raw == (string) $cast ? $cast : $raw);
            case in_array(strtolower($scalar), array('true', 'on', '+', 'yes', 'y')):
                return true;
            case in_array(strtolower($scalar), array('false', 'off', '-', 'no', 'n')):
                return false;
            case is_numeric($scalar):
                return '0x' == $scalar[0] . $scalar[1] ? hexdec($scalar) : floatval($scalar);
            case 0 == strcasecmp($scalar, '.inf'):
            case 0 == strcasecmp($scalar, '.NaN'):
                return -log(0);
            case 0 == strcasecmp($scalar, '-.inf'):
                return log(0);
            case preg_match('/^(-|\\+)?[0-9,]+(\\.[0-9]+)?$/', $scalar):
                return floatval(str_replace(',', '', $scalar));
            case preg_match(self::getTimestampRegex(), $scalar):
                return strtotime($scalar);
            default:
                return (string) $scalar;
        }
    }