PHP语法小结之基础和变量


Posted in PHP onNovember 22, 2015

最近有个H5项目的需求,需要服务端,考察过后决定用PHP实现一个HTTP服务端,于是开始重温PHP语法,顺便记录一下要点,以便随时重温。内容摘抄自w3school的PHP手册,并按照自己的理解重新进行了整理。

PHP是什么?

PHP 是 "PHP Hypertext Preprocessor" 的首字母缩略词
PHP 代码在服务器上执行,而结果以纯文本返回浏览器
PHP 文件能够包含文本、HTML、CSS 以及 PHP 代码
PHP 文件的后缀是 ".php"
PHP 脚本可放置于文档中的任何位置。
PHP 文件通常包含 HTML 标签以及一些 PHP 脚本代码。

PHP基础语法

脚本以 结尾
语句以分号结尾(;)
代码块的关闭标签也会自动表明分号(因此在 PHP 代码块的最后一行不必使用分号)。
// 或者 # 表示单行注释
/**/是多行注释
变量大小写敏感
用户定义的函数、类和关键词大小写不敏感(例如 if、else、echo 等等)都对

PHP常量

常量一旦被定义就无法更改或撤销定义
常量贯穿整个脚本是自动全局的
设置常量使用 define() 函数,它使用三个参数:

首个参数定义常量名称
第二个参数定义常量值
(可选)第三个参数规定常量名是否大小写敏感,默认是 false。

<?php
  define("GREETING", "Welcome!");
  echo GREETING;  //大小写敏感的常量

  define("Hello", "Welcome!", true);
  echo hello;   //大小写不敏感的常量
?>

有效的常量名是以字符或是下划线开通

PHP变量

变量弱类型
变量以 $ 符号开头,其后是变量的名称,如 $x=5;
函数之外声明的变量拥有 Global 作用域,只能在函数以外进行访问。
函数内部声明的变量拥有 LOCAL 作用域,只能在函数内部进行访问。
global 关键词用于访问函数内的全局变量。要做到这一点,请在(函数内部)变量前面使用 global 关键词:
实例1:

<?php
 $x=5;           // 全局作用域
 function myTest() {
  $y=10;         // 局部作用域
  echo "变量 x 是:$x";  // 不输出
  echo "变量 y 是:$x";  // 输出
 } 

 myTest();

 echo "变量 x 是:$x";   // 输出
 echo "变量 y 是:$x";   // 不输出
?>

实例2:

<?php
 $x=5;
 $y=10;

 function myTest() {
  global $x,$y;
  $y=$x+$y;
 }

 myTest();
 echo $y;         // 输出 15
?>

PHP Static关键词

通常,当函数完成/执行后,会删除所有变量。不过,有时我需要不删除某个局部变量。实现这一点需要更进一步的工作。
要完成这一点,请在您首次声明变量时使用 static 关键词:

<?php
 function myTest() {
  static $x=0;
  echo $x;
  $x++;
 }

 myTest();  // 输出0
 myTest();  // 输出1
 myTest();  // 输出2
?>

然后,每当函数被调用时,这个变量所存储的信息都是函数最后一次被调用时所包含的信息。
注释:该变量仍然是函数的局部变量。

PHP 相关文章推荐
定制404错误页面,并发信给管理员的程序
Oct 09 PHP
用PHP和ACCESS写聊天室(九)
Oct 09 PHP
PHP 引用是个坏习惯
Mar 12 PHP
《PHP编程最快明白》第三讲:php数组
Nov 01 PHP
Ping服务的php实现方法,让网站快速被收录
Feb 04 PHP
基于PHP CURL用法的深入分析
Jun 09 PHP
PHP include任意文件或URL介绍
Apr 29 PHP
PHP代码维护,重构变困难的4种原因分析
Jan 25 PHP
Laravel 5.4重新登录实现跳转到登录前页面的原理和方法
Jul 13 PHP
PHP实现的mysql主从数据库状态检测功能示例
Jul 20 PHP
php微信开发之音乐回复功能
Jun 14 PHP
PHP日志LOG类定义与用法示例
Sep 06 PHP
PHP传值到不同页面的三种常见方式及php和html之间传值问题
Nov 19 #PHP
PHP中使用array函数新建一个数组
Nov 19 #PHP
PHP新建类问题分析及解决思路
Nov 19 #PHP
php有效防止同一用户多次登录
Nov 19 #PHP
带你了解PHP7 性能翻倍的关键
Nov 19 #PHP
php curl模拟post请求和提交多维数组的示例代码
Nov 19 #PHP
phpStudy访问速度慢和启动失败的解决办法
Nov 19 #PHP
You might like
如何在PHP中使用Oracle数据库(4)
2006/10/09 PHP
PHP5.3的垃圾回收机制(动态存储分配方案)深入理解
2012/12/10 PHP
PHP静态调用非静态方法的应用分析
2013/05/02 PHP
详解PHP中的序列化、反序列化操作
2017/03/21 PHP
AMD异步模块定义介绍和Require.js中使用jQuery及jQuery插件的方法
2014/06/06 Javascript
5款JavaScript代码压缩工具推荐
2014/07/07 Javascript
jQuery中append()方法用法实例
2014/12/25 Javascript
JavaScript模块化开发之SeaJS
2015/12/13 Javascript
探索Vue.js component内容实现
2016/11/03 Javascript
给easyui datebox扩展一个清空的实例
2016/11/09 Javascript
详解js的事件处理函数和动态创建html标记方法
2016/12/16 Javascript
jQuery实现可拖拽3D万花筒旋转特效
2017/01/03 Javascript
Vuejs 用$emit与$on来进行兄弟组件之间的数据传输通信
2017/02/23 Javascript
canvas实现图片根据滑块放大缩小效果
2017/02/24 Javascript
基于vue.js 2.x的虚拟滚动条的示例代码
2018/01/23 Javascript
vue 实现v-for循环回来的数据动态绑定id
2019/11/07 Javascript
ES6新增的数组知识实例小结
2020/05/23 Javascript
JS原型对象操作实例分析
2020/06/06 Javascript
在vue中使用jsonp进行跨域请求接口操作
2020/10/29 Javascript
用Python进行一些简单的自然语言处理的教程
2015/03/31 Python
Python中的字符串类型基本知识学习教程
2016/02/04 Python
Python查看微信撤回消息代码
2018/06/07 Python
flask框架实现连接sqlite3数据库的方法分析
2018/07/16 Python
ubuntu 18.04 安装opencv3.4.5的教程(图解)
2019/11/04 Python
Python 类的魔法属性用法实例分析
2019/11/21 Python
Python 捕获代码中所有异常的方法
2020/08/03 Python
QT5 Designer 打不开的问题及解决方法
2020/08/20 Python
HTML5 Canvas中绘制椭圆的4种方法
2015/04/24 HTML / CSS
AmazeUI 图标的示例代码
2020/08/13 HTML / CSS
毕业生找工作的求职信范文
2013/12/24 职场文书
小学生打架检讨书
2014/01/26 职场文书
电大本科自我鉴定
2014/02/05 职场文书
小学生暑假家长评语
2014/04/17 职场文书
公司开业主持词
2015/07/02 职场文书
幼儿园小班教师随笔
2015/08/14 职场文书
nginx服务器的下载安装与使用详解
2021/08/02 Servers