PHP与ECMAScript_1_变量与常量
|
PHP |
ECMAScript |
|
|
变量命名规则 (相同点) |
变量包含:字母、数字、下划线字符 变量只能以字母或下划线开头 变量不能以数字开头 变量名是区分大小写 |
变量包含:字母、数字、下划线字符 变量只能以字母或下划线开头 变量不能以数字开头 变量名是区分大小写 |
|
变量命名规则 (不同点) |
关键字和函数名不区分大小写 变量不需要提前定义,使用时直接赋值即可 变量前必须要加一个美元符号($) |
关键字和函数名区分大小写 变量需要提前定义,使用时直接赋值即可 |
|
变量作用域 |
全局变量:只能在函数外部使用 局部变量:只能在函数内部使用 |
全局变量:任何地方(函数内外)都可以使用 局部变量:只能在函数内部使用 |
|
系统预定义变量 |
1. $_POST:接收用户表单post方式提交的所有数据 2. $_GET:接收用户表单get方式提交的所有数据 3. $_REQUEST:接收用户get和post方式提交的数据,还有cookie数据 4. $_FILES:接收用户上传的文件信息 5. $_SESSION:存放session数据(存放在服务器) 6. $_COOKIE:存放cookie数据(存放在浏览器) 7. $GLOBALS:全局变量 8. $_SERVER:保存服务器信息 9. $_ENV:保存系统环境信息 |
|
|
自定义变量 |
定义常量 define(name,value[flag]) 常量不能修改或删除 [flag]为可选,默认false,不区分大小写 define("DB_HOST","localhost"); |
无正式规范定义常量语法 采用单词大写的规范命名且不改变 var PI = 3.14; |
|
系统预定义变量 |
1. PHP_OS:操作系统内核 2. PHP_VERSION:当前PHP的版本 3. PHP_INT_SIZE:int类型所占的字节数 4. PHP_INT_MAX:int类型能表示的最大值 魔术常量:可以自动变化的常量 1. __FILE__:当前脚本的文件路径(绝对路径) 2. __LINE__:当前所在的行数 3. __DIR__:当前脚本所在的目录(PHP4以后才有) 4. __FUNCTION__:当前函数的名字 5. __METHOD__:当前方法的名字(类中的函数) |
1. Infinity; /* 无穷大 */ 2. NaN; /* 非数字值 */ 3. Number.MAX_VALUE; /* 最大数值(JS 可以表示的) */ 4. Number.MIN_VALUE; /* 最小数值(JS 可以表示的) */ 5. Number.NaN; /* 非数字值 */ 6. Number.NEGATIVE_INFINITY; /* 负无穷大 */ 7. Number.POSITIVE_INFINITY; /* 无穷大 */ |
PHP中注意事项:
内存空间划分
栈,堆,代码区,变量区(变量,常量,静态变量)
变量与常量的内存原理图
值传递与地址传递


PHP脚本执行结束后内存是如何处理的?
1. 什么叫做PHP脚本执行结束?
指的是当PHP引擎将用户请求的某个PHP脚本文件(index.php)的最后一行PHP代码执行完毕,称之为脚本执行结束。
2. 脚本结束后内存如何处理?
PHP脚本所占用的所有内存都会被释放,被操作系统回收。
注意:
1. 标签可以没有结束符号,如果在PHP代码之后没有任何其他非PHP代码,那么该结束标签可以没有
有结束标签:如果在结束标签之后还有额外的空格或者空行,PHP在解析的时候,会将该空格当做html的空格或者空行输出,会浪费带宽
如果PHP是嵌入到html代码中,那么建议最好使用结束标签,最后一个PHP结束标签可以没有(后面没有其他代码)
一般情况下,可以没有结束标签
练习:
交换变量值,不使用第三个变量交换两个变量的值
<?php
$a = 'php';
$b = 'javascript';
list($a,$b) = array($b,$a);
echo $a.'-'.$b; // javascript - php
?>
PHP与ECMAScript_1_变量与常量的更多相关文章
- Java程序,基本数据类型、、数据类型转换、变量和常量、常用运算符
一.基本数据类型 整数类型:byte.short. int(常用).long(较常用) 定义某个变量 int a=10: 浮点类型(小数):float.double(常用) ...
- PHP中的变量与常量详解
几乎所有的编程语言都会涉及到变量和常量这两个概念,PHP也不例外.本节将介绍PHP语言中的变量和常量的应用方法. 一.什么是变量和常量 在程序执行的过程中,变量存储的值可以随时改变,而常量存储的值是不 ...
- Java 静态变量,常量和方法
static 关键字 例如:在球类中使用PI这个常量,可能除了本类需要这个常量之外,在另外一个圆类中也需要使用这个常量.这时没有必要 在两个类中同时创建PI这个常量,因为这样系统会将这两个不在同一个类 ...
- [.net 面向对象编程基础] (5) 基础中的基础——变量和常量
[.net面向对象编程基础] (5) 基础中的基础——变量和常量 1.常量:在编译时其值能够确定,并且程序运行过程中值不发生变化的量. 通俗来说,就是定义一个不能改变值的量.既然不能变动值,那就必须 ...
- iOS开发Swift篇—(二)变量和常量
iOS开发Swift篇—(二)变量和常量 一.语言的性能 (1)根据WWDC的展示 在进行复杂对象排序时Objective-C的性能是Python的2.8倍,Swift的性能是Python的3.9倍 ...
- php标记,变量,常量
php标记 语法:有4种书写格式 1.<?php ... ?> 强烈推荐使用. 如果当前 php的代码段,是整个文档的最后一段,可以省略结束标记?(建议省略) 每句语句都要以分号;结束. ...
- Swift学习笔记--变量与常量
1.Swift是一门强类型语言,不能为变量赋予其自身数据类型之外的值: 2.声明变量使用var关键字,声明常量使用let关键字: 3.声明变量或常量时没有对其指定类型且赋予了初值,则编译器会自动推断常 ...
- Oracle基础 PL-SQL编程基础(1) 变量和常量
一.什么是PL-SQL PL-SQL是结合了Oracle过程语言和结构化查询语言(SQL)的一种扩展语言.具体来说,PL-SQL就是在普通的SQL语句的基础上增加了编程语言的特点,将数据操作和查询语句 ...
- 李洪强iOS开发Swift篇—02_变量和常量
李洪强iOS开发Swift篇—02_变量和常量 一.语言的性能 (1)根据WWDC的展示 在进行复杂对象排序时Objective-C的性能是Python的2.8倍,Swift的性能是Python的3. ...
随机推荐
- git push 时 failed to push some refs 的解决方案
我们在利用 GIt 上传代码的时候,往往会遇到这样一个问题,导致我们的代码没有办法正常上传到仓库中 造成这个问题的原因其实很简单,就是因为远程仓库和本地库不一致. 基于这样的一个问题,解决办法自然也就 ...
- vue数据加载等待组件
关于loading组件的. loading.vue <template> <div class="loading"> <div class=" ...
- python 如何在某.py文件中调用其他.py内的函数
A.py的文件需要调用B.py文件内的test函数 同一目录下: A.py #!/usr/bin/env python # -*- coding: utf- -*- def test(): ''' 测 ...
- 浅入深出Vue:路由
路由的概念在计算机界中的历史大概可以追溯到OSI模型中的数据链路层与网络层中的定义.这里的定义大意是:在转发数据包时,根据数据包的目的地址进行寻址,从而将数据包发往指定的目的地. 在 Web开发中同样 ...
- leadcode的Hot100系列--64. 最小路径和--权值最小的动态规划
如果这个: leadcode的Hot100系列--62. 不同路径--简单的动态规划 看懂的话,那这题基本上是一样的, 不同点在于: 1.这里每条路径相当于多了一个权值 2.结论不再固定,而是要比较不 ...
- UVALive 6255:Kingdoms(状压DFS)
题目链接 题意 给出n个王国和n*n的矩阵,mp[i][j] 代表第 i 个王国欠第 j 个王国 mp[i][j] 块钱.如果当前的王国处于负债状态,那么这个王国就会被消除,和它相连的王国的债务都会被 ...
- python异步IO编程(一)
python异步IO编程(一) 基础概念 协程:python generator与coroutine 异步IO (async IO):一种由多种语言实现的与语言无关的范例(或模型). asyncio ...
- Bzoj 3874: [Ahoi2014&Jsoi2014]宅男计划 三分+贪心
3874: [Ahoi2014&Jsoi2014]宅男计划 Time Limit: 1 Sec Memory Limit: 256 MBSubmit: 861 Solved: 336[Su ...
- [NOIP2016]换教室 题解(奇怪的三种状态)
2558. [NOIP2016]换教室 [题目描述] 对于刚上大学的牛牛来说,他面临的第一个问题是如何根据实际情况申请合适的课程. 在可以选择的课程中,有2n节课程安排在n个时间段上.在第i(1< ...
- Java秒杀系统实战系列~构建SpringBoot多模块项目
摘要:本篇博文是“Java秒杀系统实战系列文章”的第二篇,主要分享介绍如何采用IDEA,基于SpringBoot+SpringMVC+Mybatis+分布式中间件构建一个多模块的项目,即“秒杀系统”! ...