Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
PHP: gettype - Manual
[go: Go Back, main page]

PHP
downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

import_request_variables" width="11" height="7"/> <get_resource_type
Last updated: Sun, 25 Nov 2007

view this page in

gettype

(PHP 4, PHP 5)

gettype — 変数の型を取得する

説明

string gettype ( mixed $var )

PHP 変数 var の型を返します。

警告

返された文字列は将来のバージョンで変更される可能性があるので、 gettype() を使用して型を調べることはしないでください。 更に、この関数は文字列比較を行うため、処理が遅くなります。

代わりに is_* 関数を使用してください。

返り値

返された文字列は、以下のいずれかの値を持ちます。

  • "boolean" (PHP 4 以降)
  • "integer"
  • "double" (歴史的な理由により、float の場合には "double"が返されます。"float" とはなりません)
  • "string"
  • "array"
  • "object"
  • "resource" (PHP 4 以降)
  • "null" (PHP 4 以降)
  • "user function" (PHP 3 のみ。古い形式)
  • "unknown type"

PHP 4 の場合、ある関数に関する gettype() の以前の使用法を置き換えるには、function_exists() および method_exists() を使用する必要があります。



add a note add a note User Contributed Notes
gettype
andrey at php dot net
18-Jul-2007 02:08
The function returns "unicode" for Unicode strings in PHP6.
sneskid at hotmail dot com
06-Mar-2007 06:56
I wrote my own gettype function by just using the default is_? functions, but it took twice as long as gettype... So I decided to use gettype with a twist.

Taking the warnings about gettype to heart, and depending on your custom needs, it's worthwhile to dynamically test the gettype result with a known variable, and link the result to a predefined result. Like so:

<?php
/*
 dynamically create an array by using known variable types
 link with a predefined value
*/
$R=array();
$R[gettype(.0)]='number';
$R[gettype(0)]='number';
$R[gettype(true)]='boolean';
$R[gettype('')]='string';
$R[gettype(null)]='null';
$R[gettype(array())]='array';
$R[gettype(new stdClass())]='object';

// what is
function wis_($v){
    global
$R;
    return
$R[gettype($v)];
}

echo
wis_('hello') . '<br/>'; // "string"
echo wis_(24) . '<br/>'; // "number"
echo wis_(0.24) . '<br/>'; // "number"
echo wis_(null) . '<br/>'; // "null"
echo wis_($R) . '<br/>'; // "array"
?>
You won't need to worry about changes in gettype's return strings in future versions.
If the result evaluates to false then you know the variable tested is some "other" type.

I also find these useful
<?php
function is_num($v){return (is_int($v) || is_double($v));}
function
is_box($v){return (is_array($v)||is_object($v));}

echo
is_num(null) . '<br/>'; // false
echo is_num(false) . '<br/>'; // false
echo is_num('123') . '<br/>'; // false
echo is_num(123) . '<br/>'; // true
echo is_num(123.0) . '<br/>'; // true
?>
gilthansNOSPAM at gmail dot com
12-Sep-2005 05:18
NaN and #IND will return double or float on gettype, while some inexistent values, like division by zero, will return as a boolean FALSE. 0 by the 0th potency returns 1, even though it is mathematically indetermined.

<?php
$number
= 5/0;
$number2 = sqrt(-3);
$number3 = pow(0, 0);
$number4 = 0/0;

echo
$number."<br />";
echo
$number2."<br />";
echo
$number3."<br />";
echo
$number4."<br />";
echo
"<br />";
echo
gettype($number)."<br />";
echo
gettype($number2)."<br />";
echo
gettype($number3)."<br />";
echo
gettype($number4);
?>

This will return:

-1.#IND
1

boolean
double
integer
boolean

0
1
1
0
PHP Warning: Division by zero in C\test.php on line 2 PHP Warning: Division by zero in C:\test.php on line 5
matt at appstate
17-Dec-2004 04:10
Here is something that had me stumped with regards to gettype and is_object.
Gettype will report an incomplete object as such, whereas is_object will return FALSE.

if (!is_object($incomplete_obj)) {
   echo 'This variable is not an object, it is a/an ' . gettype($incomplete_obj);
}

Will print:
This variable is not an object, it is a/an object
jose at vocis dot com
15-Sep-2000 01:22
Also returns "NULL" for variables assigned the return of a function that returned no value via "return;".

<code>

function weird(){
    return;
}
$a=weird();

</code>

isset($a) <> 1
empty($a) <> 1
gettype($a) == NULL

-Jose Batista
ojones at dotclick dot com
01-Sep-2000 02:19
After calling OCIResult to retrieve a NULL result from an Oracle result-set, gettype returns the string 'NULL'.

 
show source | credits | sitemap | contact | advertising | mirror sites