web安全php基础_echo,print,print_r,var_dump 的用处及区别

news/2024/6/26 11:17:48

echo & print

在 PHP 中有两个基本的输出方式: echo 和 print。

PHP echo 语句

echo 是一个语言结构,使用的时候可以不用加括号,也可以加上括号: echo 或 echo()。

显示字符串

下面的实例演示了如何使用 echo 命令输出字符串(字符串可以包含 HTML 标签):

<?php
	echo "<h2>PHP 是世界上最好的语言!</h2>";
	echo "Hello world!<br>";
	echo "哈哈哈哈<br>";
	echo "这是一个", "字符串,", "使用了", "多个", "参数。";
?>

在这里插入图片描述
需要注意的是echo(): 可以一次输出多个值,多个值之间用逗号分隔。echo是语言结构(language construct),而并不是真正的函数,因此不能作为表达式的一部分使用

php对变量的处理

下面的实例演示了如何使用 echo 命令输出变量和字符串:

在这里插入图片描述

print 语句

print 同样是一个语言结构,可以使用括号,也可以不使用括号: print 或 print()。

显示字符串

下面的实例演示了如何使用 print 命令输出字符串(字符串可以包含 HTML 标签):

<?php
	print "<h2>PHP 是世界上最好的语言!</h2>";
	print "Hello world!<br>";
	print "我要学习 PHP!";
?>

在这里插入图片描述
下面的实例演示了如何使用 print 命令输出变量和字符串:

<?php
	$txt1="PHP 是世界上最好的语言!!!";
	$txt2="hello world";
	$student=array("xiaoMing","xiaoJi","xiaoKun");
	
	print $txt1;
	print "<br>";
	print "$txt2 !!!!!";
	print "<br>";
	print "我车的品牌是 {$student[0]}";
?>

在这里插入图片描述

echo 和 print 区别:

  • echo(): 可以一次输出多个值,多个值之间用逗号分隔。echo是语言结构(language construct),而并不是真正的函数,因此不能作为表达式的一部分使用。

  • print(): 函数print()打印一个值(它的参数),如果字符串成功显示则返回true,否则返回false。

  • print_r(): 可以把字符串和数字简单地打印出来,而数组则以括起来的键和值得列表形式显示,并以Array开头。但print_r()输出布尔值和NULL的结果没有意义,因为都是打印"\n"。因此用var_dump()函数更适合调试。

  • var_dump(): 判断一个变量的类型与长度,并输出变量的数值,如果变量有值输的是变量的值并回返数据类型。此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。

  • echo 是语法结构,也就是关键字,不是函数。使用的时候不用加括号,加上也可以。显示多个值的时候可以用逗号隔开。只支持基本类型,布尔型除外,echo true的时候显示1,echo false的时候啥都没有。

  • print 和 echo 基本一致。但是print 不支持逗号分隔多个显示变量的语法。

print_r 是函数,不仅可以打印变量的的值,还能显示变量类型,而且也可以显示数组和对象这样复杂的变量类型。print_r() 将把数组的指针移到最后边。使用 reset() 可让指针回到开始处。

两者相同点:

  • echo 和 print 都是语言结构(官方文档解释为language construct);
  • echo 和 print 都是用来输出字符串的;
  • 当同时只有一个参数的时候,echo 和 print 后面的括号(parenthesis)都是可选的,即:echo ($argument1) 等价于 echo $argument1,print(argument)等价于print argument;
  • echo 和 print 在输出之前,都会将参数的进行转换,尝试转换为字符串类型。

两者的区别:

  • echo能接受N个字符串类型的参数(注意:有多个参数的时候,不能使用括号,即echo $arg1,$arg2是正确的,echo($arg1,$arg2)会导致解析错误); print只能接收1个字符串类型的参数;
  • echo没有返回值; print有返回值,其值永远为int类型的1。
    在这里引用PHP官方原文档的说明 : “The major differences to echo are that print only accepts a single argument and always returns 1.”

特别注意
print $a 和 print “$a” 效果相同,echo 同理。

print “text$a text” 和 print “text $a text” 和 print “text{$a}text” 都可以正常显示 $a 的值,不使用 {} 则 &a 之后必须有一个空格,不然就无法识别变量(“text$atext” 会识别为变量 $atext)echo 同理。


http://lihuaxi.xjx100.cn/news/1312342.html

相关文章

用gpt4来读和君书单(1) - 热身序曲:悦读 21本

用gpt4来读和君书单(1) - 热身序曲&#xff1a;悦读 21本 快速阅读 Efficient Reading 《快速阅读》&#xff08;Efficient Reading&#xff09;是一本由克里斯蒂安格吕宁&#xff08;Christian Grning&#xff09;撰写的关于提高阅读效率和理解能力的书籍。虽然这本书目前没有…

Solon Web 开发:三、一个简单的 Web 模板项目(或示例)

演示 web 程序的常用能力&#xff1a; 控制器、请求参数、参数校验、跳转过滤器、全局异常处理静态文件动态模板动态模板公共变量及控制器基类日志Json 渲染格式控制 模板下载&#xff1a; 打包成 jar &#xff0c;可以自启动 helloworld_web_jar.zip &#xff08;maven&…

【C语言】深入学习函数(万字)

&#x1f466;个人主页&#xff1a;Weraphael ✍&#x1f3fb;作者简介&#xff1a;目前正在回炉重造C语言&#xff08;2023暑假&#xff09; ✈️专栏&#xff1a;【C语言航路】 &#x1f40b; 希望大家多多支持&#xff0c;咱一起进步&#xff01;&#x1f601; 如果文章对你…

在Linux中 ~的作用

在Linux系统中&#xff0c;波浪符号&#xff08;~&#xff09;在命令行中表示当前用户的主目录。它是一个简便的方式来访问和引用当前用户的主目录路径。例如&#xff0c;如果当前用户是"john"&#xff0c;那么波浪符号&#xff08;~&#xff09;将代表"/home/j…

vue+relation-graph绘制关系图实用组件

先在终端执行命令 vue create relationgraph创建一个vue2的项目 然后在编辑器中打开新创建的项目 在终端中执行命令 npm install relation-graph --save引入依赖 这样 我们relation-graph就进来了 然后 我们在需要使用的组件中编写代码如下 <template><div>&…

【Java从入门到大牛】Java基础语法

&#x1f525; 本文由 程序喵正在路上 原创&#xff0c;CSDN首发&#xff01; &#x1f496; 系列专栏&#xff1a;Java从入门到大牛 &#x1f320; 首发时间&#xff1a;2023年7月5日 &#x1f98b; 欢迎关注&#x1f5b1;点赞&#x1f44d;收藏&#x1f31f;留言&#x1f43e…

Vue3中computed实现原理

什么是computed&#xff1f; 他是组件的计算属性&#xff0c;依赖其他状态的变化而生成的状态。 如何使用computed 源码说明&#xff1a;要么传递一个函数作为getter&#xff0c;要么传递一个包含get和set 的对象 <script setup> import { ref,computed} from vuecon…

华安联大 | 蓝牙人员定位与UWB人员定位技术的应用案例分析

引言&#xff1a;随着物联网和定位技术的快速发展&#xff0c;蓝牙人员定位和UWB人员定位成为了人员定位领域的两种重要技术&#xff0c;两者都能在安防、工业、矿山、救灾、海航等领域得到广泛的应用。 在这有用户或会问蓝牙人员定位和UWB人员定位谁优谁劣&#xff0c;那么这…