echo() print() print_r() 的区别是什么?
又是一道经典的面试题
echo print不是真正的函数,而是PHP语言结构
print_r可以打印出复杂类型变量的值(如数组,对象)
echo的执行效率最高。
echo 可以输出用”,”分割的多个字符串,print不行。
又是一道经典的面试题
echo print不是真正的函数,而是PHP语言结构
print_r可以打印出复杂类型变量的值(如数组,对象)
echo的执行效率最高。
echo 可以输出用”,”分割的多个字符串,print不行。
本题比较简单,实现方法也很多。
<?php
function Arrayfun($arr) {
$str = implode(”,$arr); //把数组组成一个字符串
$tempArr = array();
for ($i=0;$i<strlen($str);$i++) {
$tempArr[] = $str[$i];
}
return $tempArr;
}
print_r(Arrayfun(Array(2,45,10,257)));
/**
输出
Array
(
[0] => 2
[1] => 4
[2] => 5
[3] => 1
[4] => 0
[5] => 2
[6] => 5
[7] => 7
)
*/
?>
print_r(Arrayfun(Array(2,45,10,257)));
$str = 0;
function fun(&$str){
return $str;
}
echo fun($str+1);
分析:本题其实不会输出任何结果,只是产生一个致命的错误。对于fun的参数是一个引用传递的变量,所以参数只能是变量。
同理,用实数做参数也会产生类似的错误。例如 fun(1);
<?php
//方法1,截取字符串
$a = ‘http://www.phppx.com’;
$b = ‘新程PHP培训’;
$a=$a.$b;
echo $b=substr($a,0,-1*strlen($b));
echo $a=substr($a,strlen($b));
//方法2,利用数组
$a = ‘http://www.phppx.com’;
$b = ‘新程PHP培训’;
$a = array($a,$b);
echo $b = $a[0];
echo $a= $a[1];
?>