PHP 新手入门之输出函数
php 中的输出有哪些?这些之间又有什么区别?
1. echo
echo是语言结构(language construct)也就是关键字,而并不是真正的函数,因此不能作为表达式的一部分使用。使用的时候不用加括号,加上也可以。只支持基本类型,布尔型除外,echo true的时候显示1,echo false的时候啥都没有。echo不可以输出数组类型
<?php $arr = array(1,2,3,4,5); echo $arr; ?>
数组,输出array 对于布尔型,true输出1 false什么都没有输出
2. print()
只能输出一个字符串,不支持逗号分隔多个显示变量的语法。print能输出数组类型的数据,
<?php $a = "php.cn"; $arr = array(1,2,3,4); print($a); echo "</br>"; print($arr); echo "</br>"; print($arr[1]); ?>
注:$a 是一个字符串,用print能够输出 $arr是一个数组,输出不出来
$arr 也是一个数组,当用print输出是,我带了一个下标,把第一位的输出出来了
3.print_r()
可以打印出复杂类型变量的值(如数组,对象)
<?php $arr = array( 'a' => 'apple', 'b' => 'banana', 'c' => array ('x','y','z')); print_r($arr); ?>
注:如果变量是string , integer 和 float , 将会直接输出其值,如果变量是一个数组,则会输出一个格式化后的数组,便于阅读,
4.printf();
语法:printf(format,arg1,arg2,arg++)
参数 format 是转换的格式,以百分比符号 (“%”) 开始到转换字符结束。下面是可能的 format 值:
* %% – 返回百分比符号
* %b – 二进制数
* %c – 依照 ASCII 值的字符
* %d – 带符号十进制数
* %e – 可续计数法(比如 1.5e+3)
* %u – 无符号十进制数
* %f – 浮点数(local settings aware)
* %F – 浮点数(not local settings aware)
* %o – 八进制数
* %s – 字符串
* %x – 十六进制数(小写字母)
* %X – 十六进制数(大写字母)
arg1, arg2, arg++ 等参数将插入到主字符串中的百分号 (%) 符号处。该函数是逐步执行的,在第一个 % 符号中,插入 arg1,在第二个 % 符号处,插入 arg2,依此类推。如果 % 符号多于 arg 参数,则您必须使用占位符。占位符被插入 % 符号之后,由数字和 “$” 组成。可使用数字指定显示的参数
<?php header("Content-type: text/html; charset=utf-8");//设置编码 printf("My name is %s %s。","55nav", "com"); // My name is 55nav com。 printf("My name is %1$s %1$s","55nav", "com"); // 在s前添加1$或2$.....表示后面的参数显示的位置,此行输出 My name is 55nav 55nav因为只显示第一个参数两次。 printf("My name is %2$s %1$s","55nav", "com"); // My name is com 55nav ?>
注:这个在php中用的还是比较少的
5. var_dump函数
功能: 输出变量的内容、类型或字符串的内容、类型、长度。常用来调试。
<?php $a = 1 ; $b = "123"; var_dump($a,$b); ?>
注:输出$b 的类型 是字符串类型