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 相关文章推荐
escape unescape的php下的实现方法
Apr 27 PHP
简单的PHP多图上传小程序代码
Jul 17 PHP
php-perl哈希算法实现(times33哈希算法)
Dec 30 PHP
php断点续传之如何分割合并文件
Mar 22 PHP
php socket客户端及服务器端应用实例
Jul 04 PHP
PHP+shell实现多线程的方法
Jul 01 PHP
php魔法函数与魔法常量使用介绍
Jul 23 PHP
PHP实现通过strace定位故障原因的方法
Apr 29 PHP
PHP的PDO预定义常量讲解
Jan 24 PHP
PHP-FPM和Nginx的通信机制详解
Feb 01 PHP
php+Ajax处理xml与json格式数据的方法示例
Mar 04 PHP
PHP实现提取多维数组指定一列的方法总结
Dec 04 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实现事件机制的方法
2015/07/10 PHP
PHP abstract 抽象类定义与用法示例
2018/05/29 PHP
Extjs Ext.MessageBox.confirm 确认对话框详解
2010/04/02 Javascript
jQuery1.3.2 升级到jQuery1.4.4需要修改的地方
2011/01/06 Javascript
jQuery的deferred对象使用详解
2011/08/20 Javascript
那些年,我还在学习jquery 学习笔记
2012/03/05 Javascript
CSS+JS实现点击文字弹出定时自动关闭DIV层菜单的方法
2015/05/12 Javascript
jQuery里filter()函数与find()函数用法分析
2015/06/24 Javascript
简介EasyUI datagrid editor combogrid搜索框的实现
2016/04/01 Javascript
AngularJS 与Bootstrap实现表格分页实例代码
2016/10/14 Javascript
懒加载实现的分页&amp;&amp;网站footer自适应
2016/12/21 Javascript
详解Vue 实例中的生命周期钩子
2017/03/21 Javascript
easyUI下拉列表点击事件使用方法
2017/05/18 Javascript
Vue组件通信之Bus的具体使用
2017/12/28 Javascript
Vue表单及表单绑定方法
2018/09/04 Javascript
pyqt4教程之messagebox使用示例分享
2014/03/07 Python
Python 登录网站详解及实例
2017/04/11 Python
python实现画五角星和螺旋线的示例
2019/01/20 Python
如何更优雅地写python代码
2019/07/02 Python
利用python-pypcap抓取带VLAN标签的数据包方法
2019/07/23 Python
解决python明明pip安装成功却找不到包的问题
2019/08/28 Python
详解python内置常用高阶函数(列出了5个常用的)
2020/02/21 Python
matplotlib之属性组合包(cycler)的使用
2021/02/24 Python
CSS3 选择器 属性选择器介绍
2012/01/21 HTML / CSS
CSS3媒体查询Media Queries基础学习教程
2016/02/29 HTML / CSS
canvas绘制树形结构可视图形的实现
2020/04/03 HTML / CSS
英国花园、DIY、电器和家居用品商店:Robert Dyas
2019/03/18 全球购物
老公爱的承诺书
2014/03/31 职场文书
大学毕业寄语大全
2014/04/10 职场文书
乡镇党建工作汇报材料
2014/08/14 职场文书
建筑技术负责人岗位职责
2015/04/13 职场文书
感恩老师主题班会
2015/08/12 职场文书
员工升职自我评价
2019/03/26 职场文书
护士年终工作总结不会写?各科护士模板总结
2020/01/02 职场文书
A22国内电台短波广播频率表
2022/05/10 无线电
解决 redis 无法远程连接
2022/05/15 Redis