php的static(php的static导致cpu升高)
华为云服务器特价优惠火热进行中! 2核2G2兆仅需 38 元;4核4G3兆仅需 79 元。购买时间越长越优惠!更多配置及优惠价格请咨询客服。
合作流程: |
今天给各位分享php的static的知识,其中也会对php的static导致cpu升高进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
微信号:cloud7591如需了解更多,欢迎添加客服微信咨询。
复制微信号
本文目录一览:
php static 方法有什么好处
1、static方法就相当于普通的方法一模一样,但是给方法分了个类。语义化代码。
2、实例化class时不会重新将static方法声明第二遍
比如:
class People{
private $name;
public __construct($name = ""){
$this-name = $name;
}
//此方法就不适合用static方法,因为他要使用实例的成员变量name
public function sayMyName(){
echo "My name is ".$this-name;
}
//类似这种方法的就最好写成static方法
public static function isMe($obj){
return get_class($obj) == "People" ? true : false;
}
}
$me = new People("s524797336");
$me-sayMyName();//输出s524797336
var_dump(People::isMe($me));//输出bool true
//其实如果直接有个方法如下,他的作用跟static方法作用其实是一样的
function isPeople($obj){
return get_class($obj) == "People" ? true : false;
}
var_dump(isPeople($me));//输出bool true
总而言之,他就是将普通方法封装到了类里面,就像上面,放到people类里面就是isMe,在公用的里面就是isPeople,虽然完成的事情是一样的,但是意义不同
你可以把static方法当成某个class中的共用方法

php面向对象static是什么意思
php中的变量作用范围的另一个重要特性就是静态变量(static 变量)。静态变量仅在局部函数域中存在且只被初始化一次,当程序执行离开此作用域时,其值不会消失,会使用上次执行的结果。
?php
function Test()
{
$w3sky = 0;
echo $w3sky;
$w3sky++;
}
? 本函数每次调用时都会将 $w3sky 的值设为 0 并输出 "0"。将变量加一的 $w3sky++ 没有其到效果,因为一旦退出本函数则变量 $w3sky 就不存在了。要写一个不会丢失本次计数值的计数函数,要将变量 $w3sky 定义为静态(static)的:
如下:
?php
function Test()
{
static $w3sky = 0;
echo $w3sky;
$w3sky++;
}
? 本函数每调用Test()都会输出 $w3sky 的值并加一。
静态变量也提供了一种处理递归函数的方法。递归函数是一种自己调用自己的方法。写递归函数时要小心,因为可能会无穷递归下去,没有出口.务必确保 有方法来中止递归。以下这个简单的函数递归计数到 10,使用静态变量 $count 来判断何时停止:
静态变量与递归函数的例子:
?PHP
function Test()
{
static $count = 0;
$count++;
echo $count;
if ($count 10) {
Test();
}
$count--;
}
? 注: 静态变量可以按照上面的例子声明。如果在声明中用表达式的结果对其赋值会导致解析错误。
声明静态变量例子:
?PHP
function foo(){
static $int = 0;// correct
static $int = 1+2; // wrong (as it is an expression)
static $int = sqrt(121); // wrong (as it is an expression too)
$int++;
echo $int;
}
?
php 类中的static有什么作用
new关键字是用于实例化一个类
语法为
$class
=
new
classname();
static关键字是用于定义类中静态的属性或方法,静态属性或方法可以不需要实例化就可以直接使用,例如:
?php
class
test
{
static
function
show(){
echo
'hello
world';
}
}
//可以直接使用,不需要实例化
test::show();
//输出hello
world
?
关于php的static和php的static导致cpu升高的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
