首页 > 后端开发 > 正文

PHP中为什么echo是void类型 print是int类型呢

2024-10-19 11:41:06 | 我爱编程网

最近经常有小伙伴私信询问PHP中为什么echo是void类型 print是int类型呢相关的问题,今天,我爱编程网小编整理了以下内容,希望可以对大家有所帮助。

本文目录一览:

PHP中为什么echo是void类型 print是int类型呢

PHP中为什么echo是void类型 print是int类型呢

这篇文章主要介绍了PHP中echo和print的区别,针对二者使用中常见的用法区别进行了较为深入的总结与分析,需要的朋友可以参考下
一般来说,PHP中动态输出HTML内容,是通过print 和 echo 语句来实现的,在实际使用中, print 和 echo 两者的功能几乎是完全一样。可以这么说,凡是有一个可以使用的地方,另一个也可以使用。但是,两者之间也还是一个非常重要的区别:在 echo 函数中,可以同时输出多个字符串,而在 print 函数中则只可以同时输出一个字符串。同时,echo函数并不需要圆括号,所以echo函数更像是语句而不像是函数。
echo 和 print 都不是函数,而是语言结构,所以圆括号都不是必需的。

他们的区别在于:
(1) echo可以输出多个字符串,像下面这样:


echo 'a','b','c';


如果你非要加上圆括号,注意写成echo ('a','b','c');是错误的,应该写成:


echo ('a'),('b'),('c');


它没有像函数的行为,所以不能用于函数的上下文
(2) print只能输出一个字符串,它可以表现得像一个函数,比如你可以如下使用:


$ret = print 'Hello World';


所有它能用在更复杂的表达式中。
另外,echo的效率相对比较快!
看看如下代码:


<?php
$a='hello ';$b='php world!';echo $a,$b.'<br />';//echo 可以用逗号分隔字符串变量来显示
print $a.$b.'<br />';//而print不能使用逗号,只能用点号分隔,
//print $a,$b.'<br />';//这里使用逗号时报错。
?>


分析总结:
echo 命令和print命令相同,没有区别
echo 函数和print函数有区别。
echo() 无返回值,与echo命令相同
print() 有返回值,成功,返1,false,返0.
printf() 和sprintf()类似,均为格式化输出,不同的是前者输出到标准输出,后者输出到变量
形如:


echo <<< EOT
EOT;
print <<< EOT
EOT;


的书写格式,其含义如下:
<<< 运算符,将由自定义分界符间的内容视为字符串,可对其间的变量做处理
EOT 自定义分界符,结束时必须位于行首
相信本文所述对大家更好的掌握PHP程序设计有一定的借鉴价值。

PHP中为什么echo是void类型 print是int类型呢

print、print_r、echo到底有什么区别?

1、性质不同

echo是PHP语言结构而非函数,print和print_r都是函数

2、返回值不同

echo没有返回值,print和print_r可以有返回值(即便没有用)

3、输出值不同

print()只能打印出简单类型变量的值(如int,string),print_r() 可以打印出复杂类型变量的值(如数组,对象),echo 可以输出一个或者多个字符串。

4、执行速率不同

在PHP中的执行速率从快到慢依次为:echo(),   print(),   print_r()

5、用法不同

echo无法被变量函数调用,print和print_r可以被方法调用

PHP中为什么echo是void类型 print是int类型呢

php echo()和print()、require()和include()函数区别说明

我爱编程网(https://www.52biancheng.com)小编还为大家带来php echo()和print()、require()和include()函数区别说明的相关内容。

1.echo和print的区别
PHP中echo和print的功能基本相同(输出),但是两者之间还是有细微差别的。echo输出后没有返回值,但print有返回值,当其执行失败时返回flase。因此可以作为一个普通函数来使用,例如执行下面的代码后变量$r的值将为1。
$r
=
print
“Hello
World”;
这意味着print可用在一些复杂的表达式中,而echo则不行。但是,因为echo语句不要求返回任何数值,所已在代码中echo语句的运行效率要略微快于print语句。
2.include与require的区别
include()与require()的功能也基本相同(包含),但在用法上也有一些不同,include()是有条件包含函数,而require()则是无条件包含函数。例如在下面代码中,如果变量$a为真,则将包含文件a.php:
if($a){
include(“a.php”);
}
而require()则和include()不同,不管$a取何值,下面的代码将把文件a.php包含进文件里:
if($a){
require(“a.php”);
}
在错误处理方面,使用include语句,如果发生包含错误,程序将跳过include语句,虽然会显示错误信息但是程序还是会继续执行!但requre却会给你来个致命错误。
当然,从字面意思上我们也可以理解七分:requre是很强硬的请求、要求的意思。
3.require_once()和include_once()语句
题外话了,因为长的像,简单require_once()和include_once()语句分别对应于require()和include()语句。require_once()
和include_once()语句主要用于需要包含多个文件时,可以有效地避免把同一段代码包含进去而出现函数或变量重复定义的错误。
4.空字符串(”)和NULL的区别
PHP中空字符串和NULL都是以值为0存储的,但是他们的类型并不一样,你可以试一下echo
gettype(”);和echo
gettype(NULL);你会发现他们打印出来的分别是string和NULL,当然还有0也容易混淆,你可以试试echo
gettype(0);打印一下类型,会发现0的类型是integer(整型),可见字符串(”)、NULL和0是“等值”但不等类型。
5.isset和
empty的区别
从字面意思上我们就可以明白:empty是判断一个变量是否为“空”,而isset
则是判断一个变量是否已经设置。但是这里有一点绝对要注意起来:当一个变量值为0,empty
认为这个变量同等于空,即相当于没有设置。比如当我们检测$id
变量的时候,当$id=0
,用empty和isset来检测变量$id是否已经配置,两都将返回不同的值:empty
认为没有配置,isset
则能够取得
$id
的值,看下边例子:

$id=0;

emptyempty($id)?print
“我是空的”:print
“我是$id
.”;
//结果:我是空的

!isset($id)?print
“我是空的”:print
“我是$id
.”;//结果:我是0

6.==(等)和===(恒等)的区别
回顾上面第四条空字符串(“”)和NULL的区别,再来看一个例子:

==
NULL;

===
NULL;
运行之后你会发现第一个为true,而第二个则为false!可见==只是比较值是否相等,而===则不但比较值,还会比较类型,更为严格。 我爱编程网

以上就是我爱编程网小编整理的内容,想要了解更多相关资讯内容敬请关注我爱编程网。更多相关文章关注我爱编程网:www.52biancheng.com

免责声明:文章内容来自网络,如有侵权请及时联系删除。
标签: PHP
与“PHP中为什么echo是void类型 print是int类型呢”相关推荐
php将string类型转为int类型有哪些方法
php将string类型转为int类型有哪些方法

php将string类型转为int类型有哪些方法php将string类型转为int类型的方法有:1、强制类型转换方法;2、内置函数方法;3、格式化字符串方法。强制类型转换方法是指在要转换的变量之前加上用括号括起来的目标类型,如【(int)$var】。具体方法:(视频教程推荐:php视频教程)1、强制类型转换方式强制类型转换方式,就是“在要转换的变量之前加上用括号括起来的目标

2024-07-21 13:12:05
Python布尔类型和强制类型转换是什么?Python布尔类型和强制类型转换介绍
Python布尔类型和强制类型转换是什么?Python布尔类型和强制类型转换介绍

在python中,bool表示的数据类型是bool表示的数据类型是布尔型,即逻辑型,它的数值是True或False,即真或假,两者中的一个。例如:print(10&gt;9)输出结果是Trueprint(10==9)输出结果是Falseprint(10&lt;9)输出结果是Falsepython06-布尔表达式(bool)本篇主要讲的是布尔表达式基本操作,对于布尔值来说

2023-12-18 13:40:53
PHP中数据类型(int char varchar datetime text)的意思是什么?varchar和char的区别是什么?
PHP中数据类型(int char varchar datetime text)的意思是什么?varchar和char的区别是什么?

phpZAA对比在PHP中不存在char数据类型,只有string类型。明白这点,那么对'z'进行递增操作,结果则为'aa'。对于字符串比较大小,学过C的应该都知道,'aa'是小于'z'的。这也就解释了为何会有上面的输出结果。如果我们想输出'a'到'z',下面的实现是一种不错的办法:for ($i = ord('a'); $i &lt;= ord('z'); $i++) {  e

2024-09-16 23:06:44
python到底是什么类型的语言
python到底是什么类型的语言

python到底是什么类型的语言Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。解释型语言:(推荐学习:Python视频教程)程序不需要编译,程序在运行时才翻译成机器语言,每执行一次都要翻译一次。因此效率比较低。比如Basic语言,专门有一个解释器能够直接执行Basic程序,每个语句都是执行的时候才翻译。(在运行程序的时候才翻译,专门有一个解释器去进行翻译,每个

2024-02-29 10:33:15
python不支持的数据类型是什么?
python不支持的数据类型是什么?

python不支持的数据类型是什么?python不支持的数据类型是char、byte类型。Python没有char或byte类型来保存单一字符或8比特整数。你可以使用长度为1的字符串表示字符或8比特整数。python的数据类型有:数字(int)、浮点(float)、字符串(str),列表(pst)、元组(tuple)、字典(dict)、集合(set)。

2024-02-09 16:40:08
Python的数字类型是什么,怎么表示?
Python的数字类型是什么,怎么表示?

Python的数字类型是什么,怎么表示?关于Python的数字类型,以下选项中描述错误的是()。A.Python整数类型提供了4种进制表示:十进制、二进制、八进制和十六进制.B.Python语言要求所有浮点数必须带有小数部分.C.Python语言中,复数类型中实数部分和虚数部分的数值都是浮点类型,复数的虚数部分通过后缀“C”或者“c”来表示.D.Python语言提供i

2023-12-15 08:11:58
python字典类型的英文单词是什么
python字典类型的英文单词是什么

python字典类型的英文单词是什么python字典类型的英文单词是:dict。在Python中,字典这种数据类型的英文叫做“dict”,有的语言里它的名称是“hash”。字典是编程中最常用的数据结构之一。它是用来做映射或者存储你需要的键值对,这样当你需要的时候,你可以通过key来获取它的值。同样,程序员不会使用一个像“字典”这样的术语,来称呼那些不能像一个写满词汇的真实字

2024-01-22 11:34:12
PHP中echo(),print(),print_r()的区别是什么?
PHP中echo(),print(),print_r()的区别是什么?

PHP中echo(),print(),print_r()的区别是什么?四种方法可以输出字符串。echoprint()printf()print_r()echo可以一次输出多个值,多个值之间用逗号分隔。echo是语言结构(languageconstruct),而并不是真正的函数,因此不能作为表达式的一部分使用。语法正确:echo"Hello","World";

2024-09-04 02:00:27