echo
echo输出一个或多个字符串,不会换行
当给echo传递多个参数时,不能使用小括号
echo "hello","world!";
/*
* helloworld!
*/输出字符串,返回值为1
字符串参数可以使用括号也可以不使用括号
print("helloWorld");
echo PHP_EOL;
print "helloWorld";
/*
* helloWorld
* helloWorld
*/echo与print区别:
- 二者都是语言结构不是函数,可以接受的参数类型都是字符串
- echo可以接受多个参数,而且无返回值
- print只接受一个参数,总返回1
printf
输出格式化字符串
$str1 = 'hello';
$str2 = 'printf';
printf('%s %s',$str1,$str2);
/*
* hello printf
*/这里要注意printf返回值是结果的长度:
$str1 = 'hello';
$str2 = 'printf';
$len = printf('%s %s',$str1,$str2);
echo PHP_EOL;
echo "结果长度:".$len;
/*
* hello printf
* 结果长度:12
*/sprintf
和printf差不多,但是他不打印
$str1 = 'hello';
$str2 = 'printf';
sprintf('%s %s',$str1,$str2); //结果为空改造一下代码:
$str1 = 'hello';
$str2 = 'printf';
$str = sprintf('%s %s',$str1,$str2);
var_dump($str);
/*
string(12) "hello printf"
*/print_r
多用于打印数组
$arr = ['a','b'];
print_r($arr);
/*
Array
(
[0] => a
[1] => b
)
*/该函数有第二个参数,默认是false,如果是true的时候,是不会输出结果的,而是直接返回信息:
$arr = ['a','b'];
print_r($arr,true); //结果为空改造一下代码:
$arr = ['a','b'];
$res = print_r($arr,true);
var_dump($res); //这里使用var_dump主要是查看结果的类型,其结果是string
/*
string(36) "Array
(
[0] => a
[1] => b
)
"
*/var_dump
该函数可以接受一个或多个参数:
//多参数情况
$arr = ['a','b'];
$name = 'tom';
$age = 20;
var_dump($arr,$name,$age);
/*
array(2) {
[0]=>
string(1) "a"
[1]=>
string(1) "b"
}
string(3) "tom"
int(20)
*/var_export
返回变量的结构信息,而且是合法的php代码
$arr = ['a','b'];
$name = 'tom';
$age = 20;
var_export($arr);
echo PHP_EOL;
var_export($age);
echo PHP_EOL;
var_export($name);
/*
array (
0 => 'a',
1 => 'b',
)
20
'tom'
*/var_export第二个参数默认是false,当true的时候,不会输出结果,会直接返回信息:
$arr = ['a','b'];
$age = 20;
$str1 = var_export($arr,true);
var_dump($str1); //这里使用var_dump主要是查看结果的类型
$str2 = var_export($age,true);
var_dump($str2);
/*
string(33) "array (
0 => 'a',
1 => 'b',
)"
string(2) "20"
*/var_dump与var_export区别:
- var_dump可接受多个参数,无返回值,输出结果会自动换行
- var_export只能接受2个参数,有返回值,输出结果不会换行,而且当第二个参数为true时不会输出结果
- var_export输出是合法的php代码,输出的结果可以直接在php中执行