PHP数据类型分为基本类型(数值、字符串、布尔型),复合类型(数组、对象),特殊类型(资源、null)三种类型。
1.PHP数据类型基本类型数值,字符串,布尔型
1.1数值类型是变量值为整数或者小数
$age=30;
//获取数据值的类型为int,值为30
echo var_dump($age);
php运行结果
1.2字符串必须被定界符包装:单引号和双引号。单引号中放入纯字符,双引号可以解析变量和识别特殊字符。
$name="qiqi";
//单引号中变量无法被解析
echo '我是$name';
echo '<hr>';
//双引号中变量正常解析
echo "我是$name";
echo '<hr>';
//获取数据值的类型为string,字节长度和值
var_dump($name);
php运行结果
1.3布尔值只有2个值:true,false
$isqiqi=true;
//获取数据值的类型为bool,值为true
var_dump($isqiqi);
php运行结果
2.复合类型数组
//通过range函数快速生成一个数组,从1到50,以3递增的数组
$shuzu=range(1,50,3);
//用echo来输出,只能输出数据类型,不能看到数值内的元素
echo $shuzu;
echo '<hr>';
//用print来输出,也是输出数据类型,不能看到数值内的元素
print $shuzu;
echo '<hr>';
//用print_r来输出这个数组
print_r($shuzu);
echo '<hr>';
//print_r支持第二个参数,不输出,有返回的值。可以用一个变量来接收
$jieguo=print_r($shuzu,true);
echo $jieguo;
echo '<hr>';
//返回值为一个字符串类型,不是数组
echo gettype($jieguo);
echo '<hr>';
//也可以直接用echo来输出,不用变量来接收.加入pre来格式化输出显示
echo '<pre>'.print_r($shuzu,true).'</pre>';
echo '<hr>';
//var_export可以直接查看到数组内的元素和值
var_export($shuzu);
//用pre标签来实现数组格式化显示,无效
echo '<pre>'.var_export($shuzu).'</pre>';
echo '<hr>';
//var_export支持第二个参数,不输出,有返回的值。直接无法查看,需要一个变量接收
var_export($shuzu,true);
$jg=var_export($shuzu,true);
echo $jg;
//在加入第二个参数后,per标签格式化显示有效果
echo '<pre>'.$jg.'</pre>';
echo '<hr>';
//返回值为一个字符串类型,不是数组
echo gettype($jg);
echo '<hr>';
//var_dump输出字符串,可查看详细信息
var_dump($shuzu);
php运行结果
3.大段的字符串的输出
3.1 heredoc
类似双引号定义的字符串,能识别变量和不可见字符(特殊字符)。
$age=30;
$name="qiqi";
echo <<< qq
<!--在姓名和年龄和后面的文字都没有间距,在加入特殊字数后,有个间隙-->
我是“{$name}”\t今年$age\t你信不信我说的话?随便你<hr>
<!--如果变量后紧靠有其他字母、单词、中文,加上花括号后,变量能正常解析-->
我真的{$name}哟
qq;
php运行结果
3.2 nowdoc
类似单引号定义的字符串,不能识别变量和不可见字符(特殊字符)
$age=30;
$name="qiqi";
echo <<< 'qq'
我是“{$name}”\t今年$age\t你信不信我说的话?随便你<hr>
我真的{$name}哟
qq;
php运行结果