php - PHP 什么是静态关键字
问题描述
什么是函数中的静态关键字?
w3school
通常,当一个函数完成/执行时,它的所有变量都会被删除。但是,有时我们希望不删除局部变量。我们需要它来做进一步的工作。
我不明白,谁能给我一些代码来理解它?
解决方案
static
有两种不同的用途:
无需类的实例化即可访问方法或属性。
<?php
class Foo {
public static function aStaticMethod() {
// ...
}
}
Foo::aStaticMethod();
静态变量只存在于局部函数作用域中,但当程序执行离开此作用域时,它不会丢失其值。
<?php
function test()
{
static $a = 0;
echo $a;
$a++;
}
test(); // 0
test(); // 1
test(); // 2
没有静态:
<?php
function test()
{
$a = 0;
echo $a;
$a++;
}
test(); // 0
test(); // 0
test(); // 0
尽可能使用它是一个好习惯,而不是用垃圾填充全局范围。
推荐阅读
- python - 如何“刷新”文件中的变量
- svg - 鼠标离开 svg 元素时未删除悬停变换,仅限 Safari
- javascript - 情节中的“点击任意位置”事件
- node.js - 如何通过引用中的字段查找文档?
- angular - 在预期流的位置提供“未定义”。可以提供 Observable、Promise、Array 或 Iterable
- http - no-cache 是否允许返回过时的缓存响应?
- typescript - 如何在打字稿中声明新的对象类型
- php - 如何在wordpress中使用功能/过滤器在站点徽标图像下方显示自定义文本
- javascript - 获取绝对定位的透明元素的真实背景颜色
- c++ - 为什么一个链表的结束节点从 NULL 变为另一个链表的下一个节点?