简介
全称:PHP:Hypertext Preprocessor,即"PHP:超文本预处理器"、
文件后缀为:.php,文件由HTML+CSS+PHP代码构成;
<?php
//PHP 代码
echo "Hello World!";
?>
变量
规则
- 变量以 $ 符号开始,后面跟着变量的名称
- 变量名必须以字母或者下划线字符开始
- 变量名只能包含字母数字字符以及下划线(A-z、0-9 和 _ )
- 变量名不能包含空格
- 变量名是区分大小写的($y 和 $Y 是两个不同的变量)
作用域
全局作用域
在函数外部定义的变量拥有全局作用域。
局部作用域
在函数内部定义的变量拥有局部作用域。
global
关键字
lobal 关键字用于函数内访问全局变量。
在函数内调用函数外定义的全局变量,我们需要在函数中的变量前加上 global 关键字:
<?php
$x=5;
$y=10;
function myTest()
{
global $x,$y;
$y=$x+$y;
}
myTest();
echo $y; // 输出 15
?>
static
关键字
在函数内部使用static
关键字修饰变量,该变量在函数内是静态的。
参数的作用域
PHP的参数传递也是按值传递。
对象
<?php
class Car{
var $color;
function __construct($color="green"){
$this->color = $color;
}
function what_color(){
return $this->color;
}
}
$blackCar = new Car();
$blackCar->__construct("Black");
echo $blackCar->what_color();
?>
使用class
关键字定义对象,new
关键字实例化对象,$obj->method()
调用对象方法。
类型比较
==
松散比较,只比较值,不比较类型===
严格比较,比较值和类型。
在松散比较下,0\“0”\""就是false\null
常量
常量是全局变量,变量名不需要加$
,使用define
函数定义常量。
define("GREETING","HelloWolrd!",true);//第三个参数设置常量名是否忽略大小写敏感,默认为false,即大小写敏感。
echo greeting;
数组
数组使用array()
函数来创建
-
数值数组
$cars = array("Volvo","BMW","Toyota"); for($i = 0; $i < count($cars); $i++){ echo $cars[$i]; }
count()
函数用于获取数组的长度。 -
关联数组
$ages = array("Petter"=>23, "Ben"=>24, "Tom"=>25); foreach($ages as $name=>$age){ echo $name . " is " . $age ." years old"; echo "<br>"; }
数组排序
sort()
和rsort()
函数,对数值数组进行升序和降序排列asort()
和arsort()
函数,对关联数组按value进行升序和降序排列ksort()
和krsort()
函数,对关联数组按key进行升序和降序排列
对象
class Site{
var $url;
var $title;
//构造函数
function __construct($par1,$par2){
$this->url = $par1;
$this->title = $par2;
}
//析构函数
function __destruct(){
echo "<br>";
echo "Site 对象生命周期结束";
}
function getUrl(){
return $this->url;
}
function getTitle(){
return $this->title;
}
}
$runoob = new Site("www.runnoob.com","菜鸟教程");
echo $runoob->getUrl();
echo "<br>";
echo $runoob->getTitle();
- 成员变量使用
var
修饰; - 构造方法名为
__construct
- 析构函数
__destruct()
在对象生命周期结束时被调用
对象中的成员变量和方法有:public
,protected
和private
三种访问修饰符,默认为public
。
静态方法和静态变量
class Site{
public static $x = "STATIC";
public static function staticFunction(){
return "StaticFunction";
}
}
echo Site::$x;
echo Site::staticFunction();