php基础教程 第二步 通俗易懂的学习变量、常量与数据类型

简介 变量、常量以及数据类型

在编程中,变量指一个存储值的一个盒子,或者说容器。例如一个箱子,用来放杂物,这个箱子就是一个容器,值就为杂物。容器可以分为很多类型,例如瓶子、被子、盒子等。值也有很多类型,例如厨余垃圾、可回收垃圾、不可回收垃圾、塑料、衣服等。从此可以发现,容器有不同的分类,值也有不同的分类,这些称之为类型。在编程中,一般变量都会设置为跟存储值一致的类型。

变量在编程中为描述可以在程序运行中改变值得容器。
常量跟变量相反,在程序运行中则不能改变。

变量
在上一节中,讲解了php代码是编写在<?php ?> 标记内。变量那么也应该写在该标记内。
php中,变量由$ 开始,后面连接一个变量名。例如我创建一个变量(容器),名为a,在php代码中就应该写为$a。我让这个容器存储一个数字0,可以编写为 $a=0。假设我又创建一个变量,名为b可以写为$b,创建变量的时候就把值给予,可以写为$b=0。如果想要两个变量进行相加,做加法运算可以写为 $a+$b,这时我想显示变量a与变量b相加的值,那么代码可以写为 echo $a+$b。完整代码如下:

<?php$a=0;$b=0;echo $a+$b;
?>

以上代码中有一点要点,我们发现在每一行语句结束后,在末尾都需要有一个分号,这个分号是php语言的语法,当编写完一句代码后,需要在结尾添加分号表示语句结束(编程中所有的标点符号皆为英文舒服法状态下的标点)。

保存文件,把文件另存为至 WWW 根目录下,文件名为 index.php,访问 localhost 或者127.0.0.1 则会直接访问到该php文件(一定要在phpstudy或其它集成软件中开启服务)。
运行结果如下:
在这里插入图片描述
由于我们的变量a与变量b的值为0,所以0+0得0,输出显示的值也为0。可以尝试修改变量的值,a改为1,b改为10,代码如下:

<?php$a=1;$b=10;echo $a+$b;
?>

结果如下,值为11:
在这里插入图片描述
在以上编程中,如果是新学习编程的读者会疑惑,文章开头说了,变量也是有类型的,那么在这里类型如何体现?原因是php 语言是弱类型语言,弱类型语言是指可以进行隐式类型转换,当我们赋值时,自动转换为赋值内容所匹配的类型。在以上代码中,赋值的是0,为整数类型,这个时候没有明显的说明当前变量是什么类型,直接根据变量,自动变换类型。在之后的学习中将会使用实例来介绍这一点。

常量

刚刚介绍了什么是变量,接下来看一下常量是什么。
从字面意思上来看,变量指可以变的量,常量指不可变的量。这个可变与不可变发生在程序运行时。
例如变量,当变量在最开始定义(赋值)为0,随后再给予这个变量一个值(如2),这个时候是可以更改的,如果使用常量则不能更改。
在这里使用一个示例进行讲解:

<?php$a=1;echo $a;echo '更改后';$a=2;echo $a;
?>

以上代码的书写虽然质量不好,但是能够很好的帮助新手去学习这一个知识点。
代码释义:

  • $a=1:定义一个变量a赋值为1

  • echo $a:显示变量a的值

  • echo ‘更改后’:输出一个 更改后 这个内容

  • $a=2:重新给a赋值为2

  • echo $a:显示重新赋值后 a变量的值

结果如下:
在这里插入图片描述
这是可以更改的,我们试一下常量。
常量的定义方式与变量不一致,使用define函数进行定义。函数是一个功能块,就像电饭锅,有煮饭的功能,把米放进去就可以做饭了。define函数是有定义常量的功能,按照指定的方式去定义常量,使用define函数即可完成。
代码如下:

<?phpdefine("b", 10);echo b;?>

代码释义:

  • define(“b”, 10):使用define定义一个常量,常量名称为b,值为10
  • echo b:输出常量时不需要使用$符号

在浏览器访问localhost进行测试,结果如下:
在这里插入图片描述
那我们将常量按照变量的形式去进行修改:

<?phpdefine("b", 10);echo b;b=11
?>

b=11 修改了常量的值,这个时候会报错:
在这里插入图片描述
常量是不允许在程序运行过程中再出更改值,所以不能使用 = 符号,会出现语法错误。

数据类型

在php中,使用 gettype() 函数可以得到当前变量的数据类型。函数为一个功能块,gettype 则为得到当前变量数据类型的功能块。
使用方法,在gettype() 函数的圆括号()中,填入变量名即可,例如:

<?phpdefine("b", 10);echo gettype(b);
?>

以上代码定义了一个常量b,赋值10,是个整数,为整数类型。使用 gettype函数,在圆括号中传入一个值 b,这个值b 可以统称为参数。这个时候使用echo 输出,gettype 将会得到传入参数的类型,输出 gettype 返回的值则可以看到这个类型。传参这个过程就像做饭的时候往电饭锅丢入的米,做好饭后将会有一个结果,那就是热腾腾的大米饭。
结果如下:
在这里插入图片描述
会显示 integer。integer则代表整数类型。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/287960.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ArcGIS实验教程——实验三:矢量数据采集与编辑(矢量化)

ArcGIS实验视频教程合集:《ArcGIS实验教程从入门到精通》(附配套实验数据) 扫描矢量化是常见的GIS数据采集方法之一,在实际工作中很常见。有些人觉得数字化就是听着歌点鼠标,其实不然。数字化是GISer的基本功。掌握数字化的基本方法,熟练的进行数字化在实际工作中显得尤为…

可见光能量范围_JACS:游书力团队通过可见光促进的吲哚衍生物分子内去芳构化合成环丁烷稠合的四环吲哚螺环...

点击上方了解化学加VIP会员企业导读近日&#xff0c;中国科学院上海有机所游书力团队开发了一种可见光促进的吲哚衍生物分子内[22]环加成方法&#xff0c;可以极好的收率和立体选择性得到环丁烷稠合的四环吲哚螺环(Scheme 1&#xff0c;底部)。该成果近期发表在J. Am. Chem. So…

章鱼黑的第一篇博客~

Part One&#xff1a;结缘计算机 推荐博客&#xff1a;https://book.douban.com/subject/4006425/discussion/22803961/ 从踏入大学的第一天&#xff0c;我就对这一专业充满了好奇与兴趣。我之所以会选择计算机这个专业&#xff0c;是因为从小对电脑的喜爱&#xff0c;再加上现…

记将一个大型客户端应用项目迁移到 dotnet 6 的经验和决策

在经过了两年的准备&#xff0c;以及迁移了几个应用项目积累了让我有信心的经验之后&#xff0c;我最近在开始将团队里面最大的一个项目&#xff0c;从 .NET Framework 4.5 迁移到 .NET 6 上。这是一个从 2016 时开始开发&#xff0c;最多有 50 多位开发者参与&#xff0c;代码…

1Android系统移植与驱动开发概述

1、Android系统架构分为四层&#xff0c;从下至上依次为Linux内核层&#xff0c;C/C代码库、Android SDK API、应用程序&#xff0c;要熟悉每一层的内容以及功能&#xff1b; 2、Android移植分为应用移植和系统移植&#xff0c;系统移植的主要工作是移植Linux驱动和移植HAL&…

数据结构之堆排序

1 堆排序 堆排序(英语:Heapsort)是指利用堆这种数据结构所设计的一种排序算法。堆是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点,我们可以理解构建的堆是 完全二叉树 ,它们的下标有如下性质 完全二叉树还有这…

ArcGIS实验教程——实验一:ArcGIS软件的认识与使用

ArcGIS实验视频教程合集&#xff1a;《ArcGIS实验教程从入门到精通》&#xff08;附配套实验数据&#xff09; 实验目录 第一节 Esri简介 1.1 ESRI简介 1.2 Esri产品发展历程 第二节 ArcGIS简介 2.1 ArcGIS简介 2.2 ArcGIS产品体系 第三节 Desktop简介 3.1 Desktop简介…

10分钟学会vue滚动行为

滚动行为 什么是路由的滚动行为 当切换到新路由时&#xff0c;想要页面滚到顶部&#xff0c;或者是保持原先的滚动位置&#xff0c;就像重新加载页面那样 注意: 这个功能只在 HTML5 history 模式下可用。在这个模式下我们需要启动一个服务 我们用scrollBehavior 方法来做路由滚…

php基础教程 第三步 学习字符串及相关函数

字符串 上一节中我们学习了 php 变量、常量以及数据类型的一些概念。这一节中进一步学习数据类型中的字符串类型及其相关操作方法。 字符串指一串字符的合集。例如单个字符 a&#xff0c;单个字符 b&#xff0c;单个字符 c…这些 a、b、c 皆是字符&#xff1b;当把这些字符连…

冲刺第五天

今天做了什么&#xff1f; 今天学习了一下jQuery的元素获取&#xff0c;操作&#xff0c;attribute方法。 明天要做什么&#xff1f; 明天我准备调出程序算法进行测试。 遇到的困难&#xff1f; 还不懂jQuery的一些ui操作。 转载于:https://www.cnblogs.com/kt97458/p/5444148.…

ASP.NET CORE MVC使用SCD(独立部署)发布

简介Self-contained deployments (SCD), 生成一个可自己执行的文件以及所有依赖, 比如一个xxx.exe和一大堆dll, 直接运行即可, 不需要操作系统安装.net core 运行时步骤1、首先创建一个ASP.NET CORE MVC项目2、右击项目&#xff0c;点击编辑xxx.csproj&#xff0c;在下编辑<…

Mirantis OpenStack fuel web 安装 使用

2019独角兽企业重金招聘Python工程师标准>>> MirantisOpenStack-4.0.iso的下载地址&#xff1a;http://pan.baidu.com/s/1dDsuzXf。下载之后使用虚拟机或者物理机安装都可以&#xff0c;我使用的是vmware。需要把NAT的自动分配ip功能关闭 1、创建虚拟机 &#xff08…

word2vec需要去标点吗_word2vec学习笔记(应用篇)(金庸武侠)

写在前面本来是想写“实战篇”的&#xff0c;感觉实验语料库不大&#xff0c;就算是一个"应用篇"吧。选取了中文语料&#xff0c;主要简单介绍jieba分词的使用&#xff0c;以及Gemsim模块中Word2Vec的使用。word2vec的原理可以参考之前的文章&#xff1a;华夏狼崽&am…

ArcGIS实验教程——实验四:数字化属性数据的采集

ArcGIS实验视频教程合集:《ArcGIS实验教程从入门到精通》(附配套实验数据) 目录 一、实验内容 二、实验目的 三、实验数据 四、实验过程 【实验描述】 属性数据是GIS空格数据的重要组成部分。属性数据采集的基本操作由于地理实体(如建筑物) 位于地块之内成者与地…

[图] DevOps:提速从研发到交付流程

你的产品要让用户等多久&#xff1f;制定需求、排期开发、部署调试……这些流程都再跑一遍&#xff1f;传统产品发布流程长&#xff0c;多分支、环境不一、人工操作导致容易出错。面对这些传统发布难题&#xff0c;DevOps才是正确的出路。

php基础教程 第四步 学习运算符

在前面的章节中&#xff0c;以及了解了一些运算法&#xff0c;接下来再讲解一些常规运算法。 加运算法&#xff0c;用来使左右两边的值或表达式进行加法计算。例如有一个变量$a&#xff0c;一个变量$b&#xff0c;它们的值都为9&#xff0c;$a$b为99等于10.。输出使用echo&…

JavaScript基础学习(七)—BOM

BOM(Browser Object Model): 浏览器对象模型。提供了独立于内容而与浏览器窗口交互的对象&#xff0c;BOM主要用于管理窗口和窗口之间的通讯。 一、Navigator对象 navigator对象通常用于获取浏览器和操作系统的信息。 navigator对象是window对象的属性&#xff0c;中文是&…

ArcGIS实验教程——实验五:空间数据编辑

ArcGIS实验视频教程合集:《ArcGIS实验教程从入门到精通》(附配套实验数据) 【实验描述】 利用ArcGIS进行数字化之后,需要对采集的空间数据进行编辑,包括图形编辑和属性编辑。常用的编辑工具有:编辑折点、延续要素、打断线、连接线、自动完成面、剪切面,整形面等等。 一…

Spring初识

从上学期开始决心开始学习Spring&#xff0c;自己总是利用不好时间&#xff0c;到处瞎忙&#xff0c;结果浪费了好多时间。想着利用暑假的时间&#xff0c;专心看会儿书。最初我在Spring官网下载jar包的时候&#xff0c;忙会儿了半天愣是没找到下载的链接&#xff0c;瞬间觉得学…

batchsize和数据量设置比例_Keras - GPU ID 和显存占用设定步骤

初步尝试 Keras (基于 Tensorflow 后端)深度框架时, 发现其对于 GPU 的使用比较神奇, 默认竟然是全部占满显存, 1080Ti 跑个小分类问题, 就一下子满了. 而且是服务器上的两张 1080Ti.服务器上的多张 GPU 都占满, 有点浪费性能.因此, 需要类似于 Caffe 等框架的可以设定 GPU ID …