Ejemplo n.º 1
0
        /// <summary>
        /// Sets variable's type.
        /// </summary>
        /// <param name="ctx">Current runtime context.</param>
        /// <param name="variable">The variable.</param>
        /// <param name="type">The string identifying a new type. See PHP manual for details.</param>
        /// <returns>Whether <paramref name="type"/> is valid type identifier.</returns>
        /// <exception cref="PhpException"><paramref name="type"/> has invalid value.</exception>
        public static bool settype(Context ctx, ref PhpValue variable, string type)
        {
            switch (type.ToLowerInvariant())
            {
                case "bool":
                case "boolean":
                    variable = PhpValue.Create(variable.ToBoolean());
                    return true;

                case "int":
                case "integer":
                    variable = PhpValue.Create(variable.ToLong());
                    return true;

                case "float":
                case "double":
                    variable = PhpValue.Create(variable.ToDouble());
                    return true;

                case "string":
                    variable = PhpValue.Create(variable.ToString(ctx));
                    return true;

                case "array":
                    variable = PhpValue.Create(variable.AsArray());
                    return true;

                case "object":
                    variable = PhpValue.FromClass(variable.ToClass());
                    return true;

                case "null":
                    variable = PhpValue.Null;
                    return true;
            }

            //PhpException.InvalidArgument("type", LibResources.GetString("invalid_type_name"));
            //return false;
            throw new ArgumentException(nameof(type));
        }
Ejemplo n.º 2
0
 /// <summary>
 /// Converts to boolean.
 /// </summary>
 /// <param name="variable">The variable.</param>
 /// <returns>The converted value.</returns>
 public static bool boolval(PhpValue variable) => variable.ToBoolean();
Ejemplo n.º 3
0
 public bool ToBoolean() => Value.ToBoolean();
Ejemplo n.º 4
0
 public static int Compare(bool bx, PhpValue y) => Compare(bx, y.ToBoolean());
Ejemplo n.º 5
0
 public static int Compare(bool bx, PhpValue y) => Compare(bx, y.ToBoolean());