String(字符串), Integer(整型), Float(浮点型), Boolean(布尔型), Array(数组), Object(对象), NULL(空值),资源。
返回类型
getType(变量或常量)
返回true/false
is_bool(变量或常量) is_array(变量或常量)
is_int(变量或常量) is_object(变量或常量)
is_float(变量或常量) is_resource(变量或常量)
is_string(变量或常量) is_null(变量或常量)
*转换:根据值类型自动转换
强制转换:$a = 100; echo (array)$a;
函数转换:settype() 操作原变量
具体转换函数:intval() floatval() strval()
接收外部的变量
$_GET() $_POST() $_REQUEST()
1.1 转为布尔型(即返回值为0)
空字符串''或""
数字0或0.0 字符'0'或"0"
空值NULL 没有成员的数组
其余都转换成布尔型true,包含资源
1.2 转为整数或浮点型
如果字符串为合法的数字字符串,则直接转换成整型/浮点型
如果字符串中包含.或e或E,则转换成浮点型;否则转换成整型
非法的数字字符串转换成数值0
布尔型true转换成数字1,false转换成数字0
空值null将转换成数字0
1.3 转为字符串型
数值将直接转换成数字字符串
布尔型的true转换成字符"1";false转换空字符串
数组将转换成字符串Array
资源将转换成Resource id#数字
空值null将转换成空字符串
小例:
str1=′aa′;str1=′aa′;str2='a00a';
str3=′11aa′;str3=′11aa′;str4=111;
echo str1+str1+str4;//str1转换成0 echo"
"; echostr1转换成0 echo"
"; echostr2+str4;//str4;//str2转换成0
echo "
";
echo str3+str3+str4;//$str3转换成11
//就是说,当匹配到字符串中,不为整形,会继续匹配,直到遇到字符,后面的全部转为0,与前面相加(来源:程序员)