521源码-免费代码基础学习-PHP如何运用变量教程

更多网站源码学习教程,请点击👉-521源码-👈获取最新资源

为什么要学习PHP?“我可以用JavaScript来实现程序编写。”但JavaScript的能力是有限的,JavaScript通常运行在浏览器(客户端),它可以制作网页上面的特效:鼠标滑过背景改变颜色,还有网页上常见的鼠标滑过弹出菜单。但如果要让JavaScript实现显示“访问网站的总人数”,它就无能为力了,因为它只能获得客户端的信息,而“访问网站的总人数”是存储在服务器端的。所以就需要另外一种可以在服务器端运行的编程语言,PHP语言就是其中的一种,因为它可以运行在Web服务器端。

变量简介

变量时用于储存值的,我们让服务器去干活的时候往往会产生数据,需要临时存放起来,方便取用。

也可以理解为,变量就是一个袋子,里面可以装苹果,凤梨什么的,但是一次只能装一个,装了这个,例外一个就被替换掉了。
这可以理解为猴子捡苞谷,捡一个丢一个。

就像这样:

<?php$var = "我热爱源码";echo $var;echo "<br />";$var = "521源码教大家学习PHP";echo $var;
?>

变量命名规则

变量名除了需要“$”进行标识外,还有一些规则需要遵守。就像拿到驾驶证以后,还得遵守交通规则。变量名的命名规则主要有三条:

1、变量名必须以字母或下划线 “_”开头,如$_name,$name,$name2等,但是$9name是不对的。

2、变量名只能由字母、数字、以及“_”组成,还能包含汉字。如$_qq,$qq308,$my_apple,“比如$name,但是$name*是不对的。

3、变量名不允许包含空格。当变量名由多个单词组成,建议使用“_”进行分隔(比如 $my_apple),俗称下划线法,或者以大写字母开头比如 $myApple,俗称骆驼式命名法(也称驼峰命名法)。

特别需要注意的是,在PHP中变量名是区分大小写的,如“$my_book”与“$my_Book”代表两个不同的变量。

变量的数据类型

在变量中,由于变量占用的空间单元不一样(占的地盘大小不一样),也分成几种数据类型,就像超市商品的包装袋,有几种不同类型,不同的商品使用不同的包装袋。我们可以通过使用“memory_get_usage”获取当前PHP消耗的内存。

<?php 
echo $m1 = memory_get_usage(); 
echo "<br />";
$var_string = "123";
echo $m2 = memory_get_usage()-$m1; 
echo "<br />";
$n=123;
echo $m3 = memory_get_usage()-$m1-$m2; 
echo "<br />";
$f=123.00;
echo $m4 = memory_get_usage()-$m1-$m2-$m3; 
echo "<br />";
$var_array = array("123");
echo $m5 = memory_get_usage()-$m1-$m2-$m3-$m4; 
?>

变量的数据类型

在PHP中,支持8种原始类型,其中包括四种标量类型、两种复合类型和两种特殊类型。PHP是一门松散类型的语言,不必向PHP声明变量的数据类型,PHP会自动把变量转换为自动的数据类型,一定程度降低了学习PHP的门槛。如果接触过C语言或者JAVA语言,就会发现在声明变量的时候需要声明变量的数据类型。

标量类型—布尔类型

布尔类型(boolean):只有两个值,一个是TRUE,另一个FALSE,可以理解为是或否。它不区分大小写,也就是说”TRUE”和“true”效果是一样的。主要用在条件结构(条件结构在后面部分会介绍)中,例如判断是否满足条件的时候,是用“true”表示满足,用“false”表示不满足。需要注意的是,当我们用”echo”指令输出布尔类型时,如果是“true”则输出的是“1”,“false”则什么也不输出。我们可以使用“var_dump”函数,获取它真正的数据类型。

<?php$flag=TRUE;
?>

标量类型—整型

整型(integer):类似于常见的整数。它可以用十进制、八进制、十六进制指定。十进制就是日常使用的数字;八进制,数字前必须加上“0”(这个0是阿拉伯数字0,可不是英文字母“欧”哦);十六进制,数字前必须加“0x” (这个0也是阿拉伯数字0,不是“欧”哦)。如:

<?php
$data_int = 1234;   // 十进制数 
$data_int = -567;    // 一个负数
$data_int = 0123;    // 八进制数(等于十进制的 83)
$data_int = 0x1a;    // 十六进制数(等于十进制的 26)
?>

标量类型—浮点型

浮点型(浮点数、双精度数或实数),也就是通常说的小数,可以用小数点或者科学计数法表示。科学计数法可以使用小写的e,也可以使用大写的E。例如:

<?php
$num_float = 1.234;    //小数点  
$num_float = 1.2e3;    //科学计数法,小写e  
$num_float = 7.0E-10;     //科学计数法,大写E  
?>

标量类型—字符串

字符串是由一系列字符组成,在PHP中,字符和字节一样,也就是说,一共有256种不同字符的可能性。
字符串型可以用三种方法定义:单引号形式、双引号形式和Heredoc结构形式。

字串符中遇到引号怎么办

<?php 
$str_string1 = '甲问:"你在哪里学的PHP?"';
$str_string2 = "乙毫不犹豫地回答:'当然是梦泽博客咯!'";
$str_string3 = '甲问:\'能告诉我网址吗?\'';
$str_string4 = "乙答道:\"www.mengze2.cn\"";
echo $str_string1;
echo "<br />";
echo $str_string2;
echo "<br />";
echo $str_string3;
echo "<br />";
echo $str_string4;
echo "<br />";
?>

第一种方案:在单引号中嵌入双引号,如上代码第2行所示;

第二种方案:在双引号中嵌入单引号,如代码第3行所示;

第三种方案:使用转义符“\”(后面部分还有介绍),分别如上代码第4行和第5行所示;

当引号遇到美元咋办

当双引号中包含变量时,变量会与双引号中的内容连接在一起;
当单引号中包含变量时,变量会被当做字符串输出。

<?php 
$love = "I love you!"; 
$string1 = "慕课网,$love";
$string2 = '慕课网,$love';
echo $string1;
echo "<br />";
echo $string2;
?>

字符串很长怎么办

我们可以使用Heredoc结构形式的方法来解决该问题,首先使用定界符表示字符串(<<<),接着在“<<<“之后提供一个标识符GOD,然后是字符串,最后以提供的这个标识符结束字符串。

<?php 
$string1 = <<<GOD
我有一只小毛驴,我从来也不骑。
有一天我心血来潮,骑着去赶集。
我手里拿着小皮鞭,我心里正得意。
不知怎么哗啦啦啦啦,我摔了一身泥.
GOD;echo $string1;
?>

特殊类型—资源

资源(resource):资源是由专门的函数来建立和使用的,例如打开文件、数据连接、图形画布。我们可以对资源进行操作(创建、使用和释放)。任何资源,在不需要的时候应该被及时释放。如果我们忘记了释放资源,系统自动启用垃圾回收机制,在页面执行完毕后回收资源,以避免内存被消耗殆尽。

<?php
$file=fopen("f.txt","r");   //打开文件
$con=mysql_connect("localhost","root","root");  //连接数据库
$img=imagecreate(100,100);//图形画布
?>

特殊类型—空类型

NULL(NULL):NULL是空类型,对大小写不敏感,NULL类型只有一个取值,表示一个变量没有值,当被赋值为NULL,或者尚未被赋值,或者被unset(),这三种情况下变量被认为为NULL。

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

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

相关文章

go语言中for的4种循环形式总结

和其他语言不一样&#xff0c;go语言中的循环语句只有for一种&#xff0c;但是go里面的for却有3种不同的循环形式&#xff0c;总结如下&#xff1a; 1. 无限循环 for { //这个就是一个“死循环”&#xff0c;注意必须要有 break条件&#xff0c;否则就真成死循环了 } 2. fo…

Redis 源码学习记录:集合 (set)

无序集合 Redis 源码版本&#xff1a;Redis-6.0.9&#xff0c;本篇文章无序集合的代码均在 intset.h / intset.c 文件中。 Redis 通常使用字典结构保存用户集合数据&#xff0c;字典键存储集合元素&#xff0c;字典值为空。如果一个集合全是整数&#xff0c;则使用字典国语浪费…

PostgreSQL入门教程

PostgreSQL是一种开源的关系型数据库管理系统&#xff0c;它具有高度的可靠性、可扩展性和性能。下面是一个简单的PostgreSQL入门教程&#xff0c;帮助你开始使用这个强大的数据库管理系统。 步骤1&#xff1a;安装PostgreSQL 首先&#xff0c;你需要下载并安装PostgreSQL。你…

2024年最全的信息安全、数据安全、网络安全标准分享(可下载)

以上是资料简介和目录&#xff0c;如需下载&#xff0c;请前往星球获取&#xff1a;https://t.zsxq.com/Gz1a0

【全网最全】2024电工杯数学建模A题成品论文+前三题完整解答matlab+py代码等(后续会更新成品论文)

您的点赞收藏是我继续更新的最大动力&#xff01; 一定要点击如下的卡片链接&#xff0c;那是获取资料的入口&#xff01; 【全网最全】2024电工杯数学建模A题成品论文前三题完整解答matlabpy代码等&#xff08;后续会更新成品论文&#xff09;「首先来看看目前已有的资料&am…

Python 点云平面分割【RANSAC算法】

点云平面分割 一、介绍1.1 概念1.2 算法思路1.3 参数设置二、代码示例三、结果示例其他参考链接:C++中实现点云平面分割 一、介绍 1.1 概念 点云平面分割:可以在点云数据中找到平面并计算平面模型系数,同时输出平面点云及非平面点云。 1.2 算法思路 实现思路: 首先,采用…

Sass是什么?有哪些优缺点?

目录 一、Sass是什么&#xff1f; 二、Sass的优缺点 三、Sass与SaaS 一、Sass是什么&#xff1f; Sass是世界上最成熟、最稳定、最强大的专业级CSS扩展语言。 Sass makes CSS fun again. Sass is an extension of CSS, adding nested rules, variables, mixins, selector in…

【C++高阶(一)】继承

目录 一、继承的概念 1.继承的基本概念 2.继承的定义和语法 3.继承基类成员访问方式的变化 ​编辑 4.总结 二、基类和派生类对象赋值转换 三、继承中的作用域 四、派生类的默认成员函数 1.派生类中的默认构造函数 2.派生类中的拷贝构造函数 3.派生类中的移动构造函数…

英语学习笔记25——Mrs. Smith‘s kitchen

Mrs. Smith’s kitchen 史密斯太太的厨房 词汇 Vocabulary Mrs. 夫人【已婚】 复习&#xff1a;Mr. 先生 全名 / 姓    Mrs. 夫人 全名 / 丈夫的姓    Miss 小姐&#xff08;未婚&#xff09; 全名 / 姓    Ms. 女士 全名 / 姓 查看婚姻状况&#xff0c;可以观察…

springboot项目中图片上传之后需要重启工程才能看到图片?

需求背景 最近在做一个用户自定义上传头像的小需求&#xff0c;用户上传头像然后需要立马回显。 需求是很常见的、正当的需求。如果不使用到对象存储这类服务&#xff0c;我们把用户头像的图片文件仅存在本地就可以了。我们在开发的过程中为了工程管理方便通常下意识会将图片…

freertos串口DMA队列发送卡死

调试回调函数的时候&#xff0c;我在cube中删除了默认的DMA通道&#xff0c;又新增了另外一个通道&#xff0c;导致NVIC中&#xff0c;该通道的优先级为0&#xff0c;后来改成了5就正常了。

Modbus TCP转Profinet网关测试配置案例

本案例采用XD-ETHPN20网关做为Modbus TCP通信协议设备与Profinet通信协议设备连接的桥梁。Modbus TCP是一种基于TCP/IP协议的工业通信协议&#xff0c;而Profinet则是用于太网通信的协议。Modbus TCP转Profinet网关可实现这两种不同协议之间的数据交换和传输&#xff0c;极大地…

算法刷题笔记 逆序对的数量(C++实现)

文章目录 题目描述解题代码&#xff08;蛮力版&#xff09;解题代码&#xff08;基于归并排序&#xff09; 题目描述 给定一个长度为n的整数数列&#xff0c;请你计算数列中的逆序对的数量。逆序对的定义如下&#xff1a;对于数列的第i个和第j个元素&#xff0c;如果满足i<…

Python高级进阶--dict字典

dict字典⭐⭐ 1. 字典简介 dictionary&#xff08;字典&#xff09; 是 除列表以外 Python 之中 最灵活 的数据类型&#xff0c;类型为dict 字典同样可以用来存储多个数据字典使用键值对存储数据 2. 字典的定义 字典用{}定义键值对之间使用,分隔键和值之间使用:分隔 d {中…

【ECharts】数据可视化

目录 ECharts介绍ECharts 特点Vue2使用EChats步骤安装 ECharts引入 ECharts创建图表容器初始化图表更新图表 示例基本柱状图后台代码vue2代码配置 组件代码运行效果 基本折线图示例代码组件 基础饼图示例代码后台前端配置组件运行效果 其他 ECharts介绍 ECharts 是一个由百度开…

spring模块(一)容器(4)ApplicationContextAware

一、介绍 1、问题引入 为了获取已被实例化的Bean对象,如果使用再次加载配置文件的方法,可能会出现一个问题,如一些线程配置任务, 会启动两份,产生了冗余. ApplicationContext appContext new ClassPathXmlApplicationContext("applicationContext.xml"); UserS…

python 多线程处理图片

thread for i in range(len(ori_path)):for filename in os.listdir(ori_path[i]):number_img number_img 1print("正在处理第" str(number_img) "张图片")img_name ori_path[i] filenamet Thread(target deal_one_img, args [img_name, filenam…

使用.net core 调用C#WebService的三种方式

WebSerrvic代码&#xff1a; [WebMethod]public string Test(string p1, string p2){return p1 "_" p2;} 以下是 SOAP 1.2 请求和响应示例。所显示的占位符需替换为实际值。 POST /Service1.asmx HTTP/1.1 Host: localhost Content-Type: text/xml; charsetutf-8…

unity 制作app实现底部导航栏和顶部状态栏

前段时间在用unity制作一个app&#xff0c;发现有个问题用unity制作的app&#xff0c;他默认是没有顶部状态栏的&#xff0c;也没有底部的导航栏&#xff0c;是一个全部覆盖的状态。但仔细观察可以发现&#xff0c;正常app&#xff0c;顶部状态栏是有的&#xff0c;而且是透明的…

软件设计师备考 | 案例专题之数据库设计 概念与例题

相关概念 关注上图中的两个部分&#xff1a; 概念结构设计 设计E-R图&#xff0c;也即实体-联系图。 工作步骤&#xff1a;选择局部应用、逐一设计分E-R图、E-R图合并。进行合并时&#xff0c;它们之间存在的冲突主要有以下3类&#xff1a; 属性冲突。同一属性可能会存在于…