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上传文件的增强函数
Jul 21 PHP
兼容性最强的PHP生成缩略图的函数代码(修改版)
Jan 18 PHP
php中通过curl模拟登陆discuz论坛的实现代码
Feb 16 PHP
PHP sprintf() 函数的应用(定义和用法)
Jun 29 PHP
phpstorm编辑器乱码问题解决
Dec 01 PHP
php中smarty模板条件判断用法实例
Jun 11 PHP
php简单的上传类分享
May 15 PHP
php+jQuery实现的三级导航栏下拉菜单显示效果
Aug 10 PHP
PHP删除数组中指定下标的元素方法
Feb 03 PHP
对于Laravel 5.5核心架构的深入理解
Feb 22 PHP
PHP内部实现打乱字符串顺序函数str_shuffle的方法
Feb 14 PHP
Thinkphp5.0框架使用模型Model的获取器、修改器、软删除数据操作示例
Oct 11 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+mysql)
2007/11/23 PHP
PHP spl_autoload_register实现自动加载研究
2011/12/06 PHP
PHP处理postfix邮件内容的方法
2015/06/16 PHP
用PHP生成excel文件到指定目录
2015/06/22 PHP
深入解析Laravel5.5中的包自动发现Package Auto Discovery
2017/09/13 PHP
Laravel框架分页实现方法分析
2018/06/12 PHP
jQuery 第二课 操作包装集元素代码
2010/03/14 Javascript
JQuery实现简单验证码提示解决方案
2012/12/20 Javascript
用javascript实现自动输出网页文本
2015/07/30 Javascript
JavaScript的面向对象编程基础
2015/08/13 Javascript
详解Node.js模块间共享数据库连接的方法
2016/05/24 Javascript
Json对象和字符串互相转换json数据拼接和JSON使用方式详细介绍(小结)
2016/10/25 Javascript
js 开发之autocomplete=&quot;off&quot;在chrom中失效的解决办法
2017/09/28 Javascript
旺旺在线客服代码 旺旺客服代码生成器
2018/01/09 Javascript
Laravel整合Bootstrap 4的完整方案(推荐)
2018/01/25 Javascript
vue2.0 axios跨域并渲染的问题解决方法
2018/03/08 Javascript
vue axios 表单提交上传图片的实例
2018/03/16 Javascript
vue 双向数据绑定的实现学习之监听器的实现方法
2018/11/30 Javascript
JS/jQuery实现获取时间的方法及常用类完整示例
2019/03/07 jQuery
vue router 用户登陆功能的实例代码
2019/04/24 Javascript
基于Proxy的小程序状态管理实现
2019/06/14 Javascript
Javascript模块化机制实现原理详解
2020/04/02 Javascript
Vue实现附件上传功能
2020/05/28 Javascript
python使用any判断一个对象是否为空的方法
2014/11/19 Python
python3中int(整型)的使用教程
2017/03/23 Python
python脚本实现验证码识别
2018/06/07 Python
Python里字典的基本用法(包括嵌套字典)
2019/02/27 Python
详解Python循环作用域与闭包
2019/03/21 Python
python3实现网页版raspberry pi(树莓派)小车控制
2020/02/12 Python
Django中Aggregation聚合的基本使用方法
2020/07/09 Python
美国批发供应商:Kole Imports
2019/04/10 全球购物
欧洲最大的预定车位市场:JustPark
2020/01/06 全球购物
学生会个人自荐书范文
2014/02/12 职场文书
2014年残疾人工作总结
2014/12/06 职场文书
公司庆典欢迎词
2015/01/26 职场文书
幼儿园教师岗位职责
2015/04/02 职场文书