Correcting teacher:天蓬老师
Correction status:qualified
Teacher's comments:写得不错
$age=30;
//获取数据值的类型为int,值为30
echo var_dump($age);
php运行结果
$name="qiqi";
//单引号中变量无法被解析
echo '我是$name';
echo '<hr>';
//双引号中变量正常解析
echo "我是$name";
echo '<hr>';
//获取数据值的类型为string,字节长度和值
var_dump($name);
php运行结果
true,false
$isqiqi=true;
//获取数据值的类型为bool,值为true
var_dump($isqiqi);
php运行结果
//通过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运行结果
heredoc
类似双引号定义的字符串,能识别变量和不可见字符(特殊字符)。
$age=30;
$name="qiqi";
echo <<< qq
<!--在姓名和年龄和后面的文字都没有间距,在加入特殊字数后,有个间隙-->
我是“{$name}”\t今年$age\t你信不信我说的话?随便你<hr>
<!--如果变量后紧靠有其他字母、单词、中文,加上花括号后,变量能正常解析-->
我真的{$name}哟
qq;
php运行结果
nowdoc
类似单引号定义的字符串,不能识别变量和不可见字符(特殊字符)
$age=30;
$name="qiqi";
echo <<< 'qq'
我是“{$name}”\t今年$age\t你信不信我说的话?随便你<hr>
我真的{$name}哟
qq;
php运行结果
heredoc
和nowdoc
。在用法上,很容易混淆。两者的区别在于,标识符未被双引号和单页号包裹,可以理解为隐形包裹双引号,只是看不见而已。双引号是属于heredoc
,类似双引号定义字符串,能够正确解析变量和不可见特殊字符。包含双引号,不用转义符。单引号是nowdoc
,只能存放纯字符串,有单引号也同样不用上加转义符。echo
和var_dump()
。print_r()
和var_export()
都支持第二个参数,不输出有返回值并且都为字符串类型(string)。gettype()
和var_dump()
都能查询数据类型,后者显示的信息更加全面。