当前位置:编程学习 > php >>

PHP基础问题。。。。

今天学函数时忽然发现了一个问题。。

<?php
$arr = pathinfo("../test.txt");
print_r($arr);
?>

为什么print_r("$arr")中的$arr加上双引号才可以正常显示。在我印象中,双引号和单引号的区别就是 单引号里的内容PHP直接认为是字符串。双引号PHP会解析。那这样$arr双引号引起来为什么不能正常显示???汗啊....

追问:平常的变量用双引号引起来可以解析。为什么这里不可以了?...

答案:print_r($arr)得到的结果是

Array
(
    [dirname] => ..
    [basename] => test.txt
    [extension] => txt
    [filename] => test
)
而print_r("$arr")得到的是Array,因为用双引号引住一个变量,就相当得到这个变量的强行转换成字符串后的值。数组强行转换成字符串的结果就是“Array”。

如果楼主的机print_r($arr)得不到任何输出的话,找找php相关配置。

双引号是字符串的时候用的
你把双引号扩在数组变量中,print_r()会认为它是一个字符串

双引号里面的变量是直接解释为字符串,但是你那个是数组所以就会返回“Array” 之后再print_r也会得出“Array”的结果。

上一个:Php程序员要求
下一个:php编程错误

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,