php有四种不同的变量作用域:
-
local
-
global
-
static
-
parameter
Global 关键字
global操作符能够在函数内访问全局变量
例如:
$a=12;
function test(){
global $a;
echo $a;
}
test();
不加global的情况下会进行报错,加了之后正常输出a的值。
关于PHP5+和PHP7+版本下global变量机制的变化参考:关于PHP5和PHP7版本下global变量机制有哪些变化?(代码实测)_(*-*)浩的博客-CSDN博客
Static 作用域
一个函数完成时,它的所有变量通常都会被删除,如果你希望某个局部变量不被删除,那就可以使用static
function test(){
static $a=10;
echo $a;
$a++;
}
test();
test();
test();
输出结果:
10 11 12
如果不加static的话,那么3次输出结果都是10
组合比较符(PHP7+)
$c=$a<=>$b
如果$a==$b $c=0
如果$a>$b $c=1
如果$a<$b $c=-1
// 整型
echo 1 <=> 1; // 0
echo 1 <=> 2; // -1
echo 2 <=> 1; // 1
// 浮点型
echo 1.5 <=> 1.5; // 0
echo 1.5 <=> 2.5; // -1
echo 2.5 <=> 1.5; // 1
// 字符串
echo "a" <=> "a"; // 0
echo "a" <=> "b"; // -1
echo "b" <=> "a"; // 1
获取数组的长度 - count() 函数
$cars=array("Volvo","BMW","Toyota");
echo count($cars);
获取字符串的长度 - strlen() 函数
$a="Hello World";
echo strlen($a);
PHP构造函数
class Site{
var $title;
var $url;
function __construct($par1,$par2)
{
$this->title=$par1;
$this->url=$par2;
}
function getTitle(){
echo $this->title.PHP_EOL;
}
function getUrl(){
echo $this->url.PHP_EOL;
}
}
$php=new Site('php中文网1','www.php.cn1');
$php->getTitle();
$php->getUrl();
继承
class Site{
var $title;
var $url;
function __construct($par1,$par2)
{
$this->title=$par1;
$this->url=$par2;
}
function getTitle(){
return $this->title;
}
function getUrl(){
return $this->url;
}
}
class Child_Site extends Site{
var $category;
function setCate($par){
$this->category=$par;
}
function getCate(){
echo $this->category;
}
}
$php=new Child_Site('php中文网','www.php.cn');
$php->setCate('编程网站');
$php->getCate();