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 相关文章推荐
PHP无限分类代码,支持数组格式化、直接输出菜单两种方式
May 18 PHP
PHP 字符串长度判断效率更高的方法
Mar 02 PHP
windows下apache搭建php开发环境
Aug 27 PHP
一个简单至极的PHP缓存类代码
Oct 23 PHP
php+ajax无刷新分页实例详解
Dec 07 PHP
Yii2使用自带的UploadedFile实现的文件上传
Jun 20 PHP
apache php mysql开发环境安装教程
Jul 28 PHP
PHP实现求两个字符串最长公共子串的方法示例
Nov 17 PHP
浅析PHP中的闭包和匿名函数
Dec 25 PHP
原生php实现excel文件读写的方法分析
Apr 25 PHP
thinkPHP框架实现多表查询的方法
Jun 14 PHP
PHP进阶学习之类的自动加载机制原理分析
Jun 18 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
frename PHP 灵活文件命名函数 frename
2009/09/09 PHP
php ajax 静态分页过程形式
2011/09/02 PHP
php中用memcached实现页面防刷新功能
2014/08/19 PHP
Laravel 4.2 中队列服务(queue)使用感受
2014/10/30 PHP
php数组冒泡排序算法实例
2016/05/06 PHP
基于PHP制作验证码
2016/10/12 PHP
php实现socket推送技术的示例
2017/12/20 PHP
PHP操作Postgresql封装类与应用完整实例
2018/04/24 PHP
PHP封装的完整分页类示例
2018/08/21 PHP
Javascript MD4
2006/12/20 Javascript
jQuery中prepend()方法用法实例
2014/12/25 Javascript
jfinal与bootstrap的登录跳转实战演习
2015/09/22 Javascript
微信小程序 数据访问实例详解
2016/10/08 Javascript
微信公众平台 发送模板消息(Java接口开发)
2019/04/17 Javascript
jQuery实现的鼠标拖动画矩形框示例【可兼容IE8】
2019/05/17 jQuery
python测试驱动开发实例
2014/10/08 Python
Django URL传递参数的方法总结
2016/08/28 Python
Python3 执行Linux Bash命令的方法
2019/07/12 Python
Django获取应用下的所有models的例子
2019/08/30 Python
pandas分组聚合详解
2020/04/10 Python
Python的collections模块真的很好用
2021/03/01 Python
CSS3 calc()会计算属性详解
2018/02/27 HTML / CSS
详解css3 Transition属性(平滑过渡菜单栏案例)
2017/09/05 HTML / CSS
瑞典在互联网上最大的宠物商店:Animail
2020/10/31 全球购物
《维生素c的故事》教学反思
2014/02/18 职场文书
做一个有道德的人活动方案
2014/08/25 职场文书
个人收入证明模板
2014/09/18 职场文书
有子女的离婚协议书怎么写(范本)
2014/09/29 职场文书
再婚婚前财产协议书范本
2014/10/19 职场文书
党员思想汇报材料
2014/12/19 职场文书
售后服务质量承诺书
2015/04/29 职场文书
化工厂员工工作总结
2015/10/15 职场文书
解决Golang中ResponseWriter的一个坑
2021/04/27 Golang
厉害!这是Redis可视化工具最全的横向评测
2021/07/15 Redis
Nginx图片服务器配置之后图片访问404的问题解决
2022/03/21 Servers
JS前端轻量fabric.js系列物体基类
2022/08/05 Javascript