PHP面试知识复习(六):系统内置函数——打印处理

  • print()
  • printf()
  • print_r()
  • echo
  • sprintf()
  • var_dump()
  • var_export()

print

1
int print(string $arg)

输出arg

print是结构,不是函数,所以可以不用括号

总是返回1

1
2
3
4
<?php
print "Hello World"; // Hello World
echo print("Hello World"); // Hello World1
?>

printf

输出格式化字符串

1
int printf(string $format[, mixed $args[, mixed $...]])

常用类型控制符

类型控制符
string%s
integer%d
double%f

返回输出字符串的长度

1
2
3
4
5
<?php
echo printf("Hello %s", 'World'); // Hello World11
echo printf("Hello %d", 65); // Hello 658
echo printf("Hello %f", 65); // Hello 65.00000015
?>

以易于理解的格式打印变量

1
mixed print_r(mixed $expression[, bool $return = FALSE])

参数

  • expression,要打印的表达式
  • return,如果为TRUE,会直接返回信息,而不是输出

返回值

  • 如果输入的内容是string、integer或float,直接输出本身
  • 如果输入的内容是array,展示的格式会显示数组的键和包含的元素
  • 如果输入的内容是object,展示的格式会显示属性和值,会显示私有和保护变量,静态变量不显示

如果return设置为TRUE,返回string格式,否则返回TRUE

echo

输出一个或多个字符串

1
void echo(string $arg1[, string $...])

输出所有参数,不换行

  • 语言结构,不一定适用小括号指定参数
  • 如果使用多个参数,不能加括号
  • 快捷用法:<?=$foo?>(PHP5.4以前必须开启short_open_tag才能生效)
  • 没有返回值
1
2
3
4
<?php
echo "Hello World"; // Hello World
echo "1", "2", "3"; // 123
?>

sprintf

返回一个格式化后的字符串

1
string sprintf(string $format[, mixed $arg[, mixed $...]])

返回根据格式化字符串格式生成的字符串

format格式和printf一样

1
2
3
4
5
<?php
echo sprintf("Hello %s", 'World'); // Hello World
echo sprintf("Hello %d", 65); // Hello 65
echo sprintf("Hello %f", 65); // Hello 65.000000
?>

var_dump

对应变量的相关信息

1
void var_dump(mixed $expression[, mixed $...])
  • 此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值
  • 数组将递归展开值,通过缩进显示其结构
  • 在PHP 5中,对象的所有公共,私有和受保护属性都将在输出中返回
1
2
var_dump("Hello World"); // string(11) "Hello World"
var_dump(TRUE); // bool(true)

var_export

输出或返回一个变量的字符串表示

1
mixed var_export(mixed $expression[, bool $return])
  • 返回关于传递该函数的变量的结构信息,与var_dump()类似,不过返回的是合法的PHP代码
  • 如果第二个参数return为TRUE,返回,否则输出
1
2
3
4
<?php
var_export(3.1); // 3.1
echo var_export(3.1, TRUE); // 3.1
?>

参考