PHP语法小结之基础和变量

最近有个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 gd库与session的用法。 纵观网上php 生成验证码的例子,无不是php gd库与session相结合,并利用php 生成随机数的方法来完成。 PHP验证码,可以分为很多种,包括 php 图片验证码,php 随机验证码, 以及 php 中文验证码 等,根据不同的应用场合来使用不同的验证码。 这里分享一个php数字验证码,供大家参考。 4位数字验证码 /**Filename:authpage.php*/ session_start(); //sr
本文实例讲述了Ajax+PHP+MySQL登陆示例。分享给大家供大家参考。具体如下: 运行效果截图如下: 具体代码如下: 1 login.php 登录界面中,javascript脚本用ajax方式异步请求dologin.php,dologin.php负责用户信息验证(包括验证码,php生成验证码可以自行搜索).登录界面的代码如下: ?php session_start();?!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "htt

3种php生成唯一id的方法 - 2015-11-25 14:11:05

小编在网上查了许多关于php生成唯一id方法的文章,发现有很多的方法,特整理本文与大家分享php生成唯一id的解决方法,希望大家喜欢。 1、md5(time() . mt_rand(1,1000000)); 这种方法有一定的概率会出现重复 2、php内置函数uniqid() uniqid() 函数基于以微秒计的当前时间,生成一个唯一的 ID. w3school参考手册有一句话:"由于基于系统时间,通过该函数生成的 ID 不是最佳的。如需生成绝对唯一的 ID,请使用 md5() 函数"。 下面方法返回结果类
下面先给大家分析php新建类的问题 index.php文件 function __autoload($_className) {require $_className.'.class.php';} //新建类??if (isset($_GET['index'])) {$m=new Main($_GET['index']);}else{$m=new Main(); }include $m-ui(); main.class.php文件 class Main{private $index;//构造方法,初始化数
在项目开发中经常见到不同页面之间传值在web工作中,本篇文章给大家列出了三种常见的方式。 接触PHP也有几个月了,本文总结一下这段日子中,在编程过程里常用的3种不同页面传值方法,希望可以给大家参考。有什么意见也希望大家一起讨论。 一. POST传值 post传值是用于html的form表单跳转的方法,很方便使用。例如: html form action='' method='' input type='text' name='name1' input type='hidden' name='name2'
PHP 中的数组实际上是一个有序映射。映射是一种把 values 关联到 keys 的类型。此类型在很多方面做了优化,因此可以把它当成真正的数组,或列表(向量),散列表(是映射的一种实现),字典,集合,栈,队列以及更多可能性。由于数组元素的值也可以是另一个数组,树形结构和多维数组也是允许的。 array (PHP 4, PHP 5) array — 新建一个数组 说明 复制代码 代码如下: array array ([ mixed $... ] ) 返回根据参数建立的数组。参数可以用 = 运算符给出索引。
【问题描述】: 同一用户在同一时间多次登录如果不能检测出来,是危险的。因为,你无法知道是否有其他用户在登录你的账户。如何禁止同一用户多次登录呢? 【解决方案】 (1) 每次登录,身份认证成功后,重新产生一个session_id。 session_regenerate_id(); session_register ("username") ; (2) 在用户数据库中开一个sessionid字段,重新产生session_id后,都更新该字段。 $sessionid = session_id(); $db =
下面一段代码给大家介绍php curl模拟post请求的示例代码,具体代码如下: ?php$uri = "http://www.cnblogs.com/test.php";//这里换成自己的服务器的地址// 参数数组$data = array ( 'name' = 'tanteng'// 'password' = 'password');$ch = curl_init ();// print_r($ch);curl_setopt ( $ch, CURLOPT_URL, $uri );curl_setopt
下面给大家介绍phpstudy访问速度慢的解决办法。 1、修改mysql数据库链接地址为ip地址127.0.0.1。 2、使用最新版本,这个坑了我好久时间。 下面一段内容是关于phpstudy启动失败的解决办法。 php5.3、5.4和apache都是用vc9编译,电脑必须安装vc9运行库才能运行。 php5.5、5.6是vc11编译,如用php5.5、5.6必须安装vc11运行库。 vc9和vc11运行库下载: http://pan.baidu.com/s/1gd0y1Qb php5.5以上才有64位的
20岁老牌网页程序语言PHP,最快将在10月底释出PHP 7新版,这是十年来的首次大改版,最大特色是在性能上的大突破,能比前一版PHP 5快上一倍,PHP之父Rasmus Lerdorf表示,甚至能比HHVM虚拟机下的PHP程序性能更快。 HHVM 是脸书为自家网站特性而量身客制的PHP优化机制,不见得适用任何网站。但Rasmus Lerdorf表示,新版目标之一就是要让任何网站开发者,就连使用开发框架Drupal、开源电子商务系统Opencart时,都能有不输使用HHVM 技术的性能。在新版发表前夕,他