PHP基本类型
八种原始类型
四种标量类型
- boolean(布尔型)
- integer(整型)
- float(浮点型,也作“double”)
- string(字符串)
两种复合类型:
- array(数组)
- object(对象)
最后是两种特殊类型:
- resource(资源)
- NULL
<?php
$bool=true;
$str="str";
$int=1;
$float=1.987;
$arr = array("a"=>"123");
echo "<p class='red'>基本类型</p>";
echo gettype($bool);
echo '<br>';
echo gettype($str);
echo '<br>';
echo gettype($int);
echo '<br>';
echo gettype($float);
echo '<br>';
echo gettype($arr);
echo '<br>';
?>
$bool=true;
$str="str";
$int=1;
$float=1.987;
$arr = array("a"=>"123");
echo "<p class='red'>基本类型</p>";
echo gettype($bool);
echo '<br>';
echo gettype($str);
echo '<br>';
echo gettype($int);
echo '<br>';
echo gettype($float);
echo '<br>';
echo gettype($arr);
echo '<br>';
?>
Boolean类型
<?php
/*bool*/
echo "<p class='red'>Boolean类型</p>";
var_dump((bool) '');
var_dump((bool) 0);
var_dump((bool) -1);
var_dump((bool) 1);
var_dump((bool) 1.25);
var_dump((bool) array(12));
var_dump((bool) array());
var_dump((bool) "false");
echo '<br>';
if(is_int($int))
{
$int +=10;
echo $int;
echo '<br>';
}
echo $arr["a"];
echo '<br>';
?>
/*bool*/
echo "<p class='red'>Boolean类型</p>";
var_dump((bool) '');
var_dump((bool) 0);
var_dump((bool) -1);
var_dump((bool) 1);
var_dump((bool) 1.25);
var_dump((bool) array(12));
var_dump((bool) array());
var_dump((bool) "false");
echo '<br>';
if(is_int($int))
{
$int +=10;
echo $int;
echo '<br>';
}
echo $arr["a"];
echo '<br>';
?>
整型
<?php
/*int*/
echo "<p class='red'>整型</p>";
$inta = 1000;
$intb = -111;
$intc = 0123;
$intd = 0x1A;
var_dump($inta);
var_dump($intb);
var_dump($intc);
var_dump($intd);
var_dump(27/7);
var_dump((int)(27/7));
var_dump(round(27/7));
/*float*/
echo "<p class='red'>浮点型</p>";
?>
/*int*/
echo "<p class='red'>整型</p>";
$inta = 1000;
$intb = -111;
$intc = 0123;
$intd = 0x1A;
var_dump($inta);
var_dump($intb);
var_dump($intc);
var_dump($intd);
var_dump(27/7);
var_dump((int)(27/7));
var_dump(round(27/7));
/*float*/
echo "<p class='red'>浮点型</p>";
?>
字符串
<?php
/*string*/
echo "<p class='red'>字符串</p>";
echo '用单引号\'';
echo '<br>';
echo'1\n\r 2';
echo '<br>';
echo"1\n\r2";
echo '<br>';
$tmpstr = 'tmpstring';
echo '$tmpstr is string';
echo '<br>';
echo "$tmpstr is string";/*双引号 变量名被替换*/
?>
/*string*/
echo "<p class='red'>字符串</p>";
echo '用单引号\'';
echo '<br>';
echo'1\n\r 2';
echo '<br>';
echo"1\n\r2";
echo '<br>';
$tmpstr = 'tmpstring';
echo '$tmpstr is string';
echo '<br>';
echo "$tmpstr is string";/*双引号 变量名被替换*/
?>
数组
<?php
/*array*/
echo "<p class='red'>数组</p>";
$arrtmp = array("foo"=>"bar",12=>true);
echo $arrtmp["foo"];
echo '<br>';
echo $arrtmp[12];
echo '<br>';
$arrtmp["a"]="a";
$arrtmp[12]="12";
echo $arrtmp["a"];
echo '<br>';
echo $arrtmp[12];
unset($arrtmp[12]);
echo '<br>';
foreach($arrtmp as $i)
{
echo "arrtmp-".$i."\r\n";
}
$array = array(1, 2,"a","c");
$count = count($array);
for ($i = 0; $i < $count; $i++) {
echo "Good: " . $array[$i] . "\n";
}
?>
/*array*/
echo "<p class='red'>数组</p>";
$arrtmp = array("foo"=>"bar",12=>true);
echo $arrtmp["foo"];
echo '<br>';
echo $arrtmp[12];
echo '<br>';
$arrtmp["a"]="a";
$arrtmp[12]="12";
echo $arrtmp["a"];
echo '<br>';
echo $arrtmp[12];
unset($arrtmp[12]);
echo '<br>';
foreach($arrtmp as $i)
{
echo "arrtmp-".$i."\r\n";
}
$array = array(1, 2,"a","c");
$count = count($array);
for ($i = 0; $i < $count; $i++) {
echo "Good: " . $array[$i] . "\n";
}
?>
对象
<?php
class foo
{
function do_foo()
{
echo 'hello';
}
}
$f = new foo();
$f->do_foo();
?>
class foo
{
function do_foo()
{
echo 'hello';
}
}
$f = new foo();
$f->do_foo();
?>
资源:保存了到外部资源的一个引用
<?php
$fp = fopen("foo","w");
echo "\$fp类型".get_resource_type($fp)."\n";
?>
$fp = fopen("foo","w");
echo "\$fp类型".get_resource_type($fp)."\n";
?>
NULL:在下列情况下一个变量被认为是 NULL
被赋值为 NULL
尚未被赋值
被 unset()
尚未被赋值
被 unset()
<?php
$var = NULL;
echo $var;
$var2;
echo $var2;
$var3=123;
echo $var3;
unset($var3);
echo $var3;
?>
$var = NULL;
echo $var;
$var2;
echo $var2;
$var3=123;
echo $var3;
unset($var3);
echo $var3;
?>
作者:青羽