php有关函数的一个问题

来源:百度知道 编辑:UC知道 时间:2024/05/03 06:19:13
<?php
$arr1=array(1,2,3,4);
$i=1;
echo '<pre>';
print_r('$arr'.$i);
echo '</pre>';
?>问题是:为什么输出的不是数组?难道新产生一个变量替换了数组?若如此,可不可能不直接print_r($arr);不直接写$arr用其它方法输出这个数组???

你这个应该输出的是$arr1,我没说错吧?
改成print_r(${'arr'.$i});试试
另:print_r可以输出非数组

print_r的参数必需要是数组类型呀,只要里面是个数组就可以调用,你可以使用常量、变量、表达式,但是要是数组类型,否则就不能输出数组。

你的程序print_r('$arr'.$i);的参数是一个字符串,因为单引号是不解释变量了,这个引号的值就是'$arr1',里面的$就是一个简单的符号,没有任何含义。所以你这个语句肯定无法输出数组。

返回的是一个数组,print_r()函数里面只能有一个数组参数。而且不能加引号。
改成:print_r($arr1);就行了。

print_r("$arr".$i);