echo '1'.print(2)+3; 的输出结果为什么是511
今天看到一道有趣的题目,如上所示。结果为什么会是511呢?
这个结果的计算分为三步来理解:
首先计算的是 右边print(2)+3,这个你可以直接理解成print(2+3),得到的结果是5。而print是一个函数,
它的返回值总是1。
第二步就是echo '1'.print('结果')(返回值是1),因此会得到11的结果。
第三部就是将之前计算的结果进行连接,并最终进行输出,得到的结果就是511了。
类似的,可以解释为什么echo '2' . print(2) + 3;的结果是521,
echo '1' . (print '2') + 3;结果是214
当然啦,实际的开发并不会出现这种情况!建议在开发中,最好不要将echo与print混合起来使用。
这里仅是一个有趣味的题而已!
echo '1'.print(2)+3; 的输出结果为什么是511的更多相关文章
- (学习笔记)PHP的输出echo和print
echo 和 print 之间的差异: echo - 能够输出一个以上的字符串 print - 只能输出一个字符串,并始终返回 1 echo语句 echo 或 echo()均可. 输出换行 echo ...
- echo、print、sprint、sprintf输出
echo() 函数 定义和用法 echo() 函数输出一个或多个字符串. 语法 echo(strings) 参数 描述 strings 必需.一个或多个要发送到输出的字符串. 提示和注释 注释:ech ...
- php输出echo、print、print_r、printf、sprintf、var_dump的区别比较
本篇文章是对php输出echo.print.print_r.printf.sprintf.var_dump的区别进行了详细的分析介绍,需要的朋友参考下 用.net开发已经5年了,最近突然想接触 ...
- php输出echo、print、print_r、printf、sprintf、var_dump比较
php输出echo.print.print_r.printf.sprintf.var_dump比较 一.echo echo() 实际上不是一个函数,是php语句,因此您无需对其使用括号.不过,如 ...
- PHP常见的输出语句 echo()、print()、print_r()、var_dump()、pinrtf()之间的区别
echo().print().print_r().var_dump().pinrtf()之间的区别 1.print() :简单输出语句,可以输出字符串,变量.表达式等单项的值!(不能输出数组.对象等复 ...
- PHP中的输出:echo、print、printf、sprintf、print_r和var_dump
大家在面试中,经常会被问到的问题: 请简要说明PHP的打印方式都有哪些? 或者直接点问: 请说明echo.print.print_r的区别 看着很简单,一般会出现在初中级的笔试题中.但是要真正说明白这 ...
- PHP全栈开发(五):PHP学习(2. echo 和 print 输出、数组、foreach循环、字符串)
在PHP中有两个基本的输出语句,就是echo 和 print 这两个东东有什么不同呢. echo 可以一次输出一个或者多个字符: echo "这是一个", "字符串,&q ...
- php中echo、print、print_r、printf的返回值
1.echo 无返回值,是一个语言结构.在输出多个参数时不可以使用小括号; 2.print返回值为1:如:$x = 0; echo print $x."<br/>";/ ...
- echo和print语句
在php中,有两种基本的输出方法:echo 和 print echo 和 print 之间的差异: echo——能够输出一个以上的字符串,无返回值 print——只能输出一个字符串,并始终返回值为 ...
随机推荐
- ERP,ARP瘦身并如何删除。
ERP,ARP瘦身 场景:由于ARP,ERP运行近10年,日志文件多而杂.清理ERP的日志文件有利于ERP的迁移. 1)ERP的相关日志文件如下: /ora1159/prod/prodcomn/adm ...
- Yum搭建LNMP环境(动、静、库分离)(week4_day5)--技术流ken
前言 本篇博客使用yum来搭建lnmp环境,将采用动态,静态以及数据库分开安装的方式即nginx,php,mysql.会被分开安装在不同的服务器之上,搭建出来一套lnmp环境,并部署wordpress ...
- Apollo 6 — ConfigService 获取配置接口
大纲 看本文之前,建议看看 apollo 的官方文档,特别是数据库设计文档. 主流程分析 2.1 聊聊细节 2.2 loadConfig() 加载配置 2.3 auditReleases() 方法记录 ...
- RNN入门(二)识别验证码
介绍 作为RNN的第二个demo,笔者将会介绍RNN模型在识别验证码方面的应用. 我们的验证码及样本数据集来自于博客: CNN大战验证码,在这篇博客中,我们已经准备好了所需的样本数据集,不需要 ...
- 使用VSCode如何调试C#控制台程序_1
A-环境安装 https://www.microsoft.com/net/download 下载 .NET Core SDK Installer: https://www.microsoft.com/ ...
- Redis常用命令与配置
常用命令 测试客户端与服务器是否正常连接:ping ( 补:返回pong表示成功 ) 正则获取键:keys pattern 判断一个键是否存在:exists key 删除一个键:del key 获 ...
- C#中设置窗口在最前显示而其他窗口不能使用
对程序中的一个Form1处理,让其在打开的情况下,其他窗体都无法使用,全部焦点都在他身上. 1.这种方法最简单,直接调用窗体的模态对话框函数显示窗体 Form1.ShowDialog(): 2.设置窗 ...
- 先装IIS后装.Net Framework
1.动态页面和静态页面的区别 动态页面(动态网站):通过C#代码(或别的语言)与服务器的交互的实现(比如新建一个ashx一般处理程序中的C#代码就可以和服务器实现交互,修改数据库,上传图片等都属于和服 ...
- 【Java每日一题】20170310
20170309问题解析请点击今日问题下方的“[Java每日一题]20170310”查看(问题解析在公众号首发,公众号ID:weknow619) package Mar2017; public cla ...
- JavaWeb-BeginTomcat
上手Tomcat 1.Ubuntu 18.04 下载/安装Tomcat 以下内容参考链接 安装JDK sudo apt-get update sudo apt-get install default- ...