Variable handling
在线手册:中文 英文
PHP手册

Variable handling 函数

Table of Contents


Variable handling
在线手册:中文 英文
PHP手册
PHP手册 - N: Variable handling 函数

用户评论:

coding-kid at hotmail dot com (03-Apr-2010 04:13)

A simple method to check what type input var is:

<code>
class filter{
    /*
     * @var: $types (array): holds all the supported datatypes, their number, and the callback that need to be made
     *                             to check if it's valid.
     */
    private $types = array('string'=> array('number'=> '1', 'callback'=> 'is_string'),
                            'int'=> array('number' => '2', 'callback' => 'is_int'),
                            'array'=> array('number' => '3', 'callback' => 'is_array'),
                            'object'=> array('number' => '4', 'callback' => 'is_object'),
                            'float'=> array('number' => '5', 'callback' => 'is_float'),
                            'bool'=> array('number' => '6', 'callback' => 'is_bool'),
                            'resource'=> array('number' => '7', 'callback' => 'is_resource'),
                            'null'=> array('number' => '8', 'callback' => 'is_null'));

    function __construct(){
       
    }
    /*
     * @desc: This method checks what type the input variable is
     *
     * @param: $var (mixed): The var that will be checked
     *
     * @param: $output_type (string): How the result will be returned
     *
     * @returns: string or int
     */
    function type($var, $output_type = 'numeric'){

        if(is_string($var)){
            $var_type = array("string", "1");
        } elseif(is_int($var)){
            $var_type = array("int", "2");
        } elseif(is_array($var)){
            $var_type = array("array", "3");
        } elseif(is_object($var)){
            $var_type = array("object", "4");
        } elseif(is_float($var)){
            $var_type = array("float", "5");
        } elseif(is_bool($var)){
            $var_type = array("bool", "6");
        } elseif(is_resource($var)){
            $var_type = array("resource", "7");
        } elseif(is_null($var)){
            $var_type = array("null", "8");
        }
        if($output_type == 'text'){
            return $var_type[0];
        } else{
            return $var_type[1];
        }
    }
}</code>

jfrasca at sheerdev dot com (31-Aug-2005 06:27)

I needed a simple function that would reduce any kind of variable to a string or number while retaining some semblance of the data that was stored in the variable. This is what I came up with:

<?
function ReduceVar ($Value) {
    switch (gettype($Value)) {
        case "boolean":
        case "integer":
        case "double":
        case "string":
        case "NULL":
            return $Value;
        case "resource":
            return get_resource_type($Value);
        case "object":
            return ReduceVar(get_object_vars($Value));
        case "array":
            if (count($Value) <= 0)
                return NULL;
            else
                return ReduceVar(reset($Value));
        default:
            return NULL;
    }
}
?>

skelley at diff dot nl (23-Sep-2001 12:55)

Sorry to say Mykolas, but your definition would not be correct.

isempty() evaluates to true for NULL, 0, "", false or 'not set' for any variable, object etc. that can be set to a value.

isset() evaluates to true if the variable, object etc. exists at all, whether it is 'empty' or not.

Example:
$foo = 0;
isset($foo); //will evaluate to true.
!empty($foo); //will evaluate to false.

unset($foo);
isset($foo); //will evaluate to false.
!empty($foo); //will evaluate to false.