起步 - 输出

  • 作者:KK

  • 发表日期:2016.3.9


PHP这个语言在网站开发中,尽管有时候运行了成千上万行代码,但通常最终只是做了一件事情:输出一堆字符串

echo

所以我要先教你怎么输出东西,代码就是echo 'Hello World!';,其中"Hello World!"这个字符串就是要输出的内容,其实这句代码在前面的尝试中也试过

echo是一个代码语句格式,后面加个空格开始写要输出的字符串,所以就写成echo '字符串'; 结束部分也要加;号表示语句结束,这方面会比JS更严格,JS你不写的话浏览器不给你报错,一般都能正常运行,但在PHP里不写就跑不起来,不信你试试echo '字符串'这样没分号,就会提示syntax error...这表示语法出错的意思

不编程语言有不同的语法,说通俗点就是写代码的规则,echo后面要加空格,这是语法规则之一,你不加空格写成echo'字符串';那也是不合法的,所以关于语法的学习,请一定要学好,学不好的话代码都写不好

回正题上,echo主要输出字符串,数值,所以也可以echo 123;

可以一次性输出多个内容:echo 'abc', 123, 222, '哈哈';

而echo也可以用函数的语法来写,就是echo('abc');,但是如果你要获取这个函数的返回值就会出错,比如$r = echo('abc'); 现阶段你不用关心具体原因,只要知道取它返回值会出错就行,乖乖地用语法的方式去加空格执行echo 123;吧,基本上大家都这么写,你不要与大众背道而驰就好了

函数式写法不能一次性输出多个内容,echo('aa', 'bb', 'cc');这样是错的

echo终归不是个函数,而是语法的组成部分,所以通常我们叫它为echo语句,就像if语句那些


print

上面说的echo,你将这个词换成print也可以,比如print 'abc';print('abc');

区别嘛,这个很重要,因为经典的PHP面试题里总会有人问你echo和print有什么区别

  1. echo和print都不是函数,而是语言结构(又叫语法结构也行),但是echo没有返回值,print会有返回值

  2. echo可以一次性输出多个内容,print不可以

  3. echo的运行速度比print快


var_dump

这是一个函数,一般比较少使用,主要是输入麻烦吧

  • 输出信息比较详细

    由于输出详细,适合观察一个你觉得"奇怪"的变量

    var_dump('aaabb');
    

    这样的话会输出

    string(5) "aaabb"
    

    这些信息显示了输出的是一个字符串类型的值,这个字符串的长度是5(就是有5个字符),其中字符串的内容是"aaabb"

  • 能看到false的值

    PHP里也有逻辑值,就是true/false,用echo和print_r输出false这个值的时候,当值是true时就会输出1,false时不会有结果输出,或者说它输出了空白,所以下面的代码你只会看到'11'结果

    echo true;
    echo false;
    echo true;
    

    但是用var_dump函数的话就会一目了然,一个都不漏:

    var_dump(true);
    var_dump(false);
    var_dump(true);