PHP中的C风格变量初始化
PHP中是否存在本地、私有、静态和公共变量?如果是这样,你能给出每个样本,以及它们的范围是如何在类内外函数中演示的?< p>我不知道C++,但是PHP是如何工作的: 对于功能范围:PHP中的C风格变量初始化,php,c++,variables,scope,Php,C++,Variables,Scope,PHP中是否存在本地、私有、静态和公共变量?如果是这样,你能给出每个样本,以及它们的范围是如何在类内外函数中演示的?< p>我不知道C++,但是PHP是如何工作的: 对于功能范围: <?php $b = 6; function testFunc($a){ echo $a.'-'.$b; } function testFunc2($a){ global $b; echo $a.'-'.$b; } testFunc(3); testF
<?php
$b = 6;
function testFunc($a){
echo $a.'-'.$b;
}
function testFunc2($a){
global $b;
echo $a.'-'.$b;
}
testFunc(3);
testFunc2(3);
?>
输出是
3-3-6 函数内部的代码只能使用全局关键字访问函数外部的变量。看 至于课程:
<?php
class ExampleClass{
private $private_var = 40;
public $public_var = 20;
public static $static_var = 50;
private function classFuncOne(){
echo $this->private_var.'-'.$this->public_var; // outputs class variables
}
public function classFuncTwo(){
$this->classFuncOne();
echo $private_var.'-'.$public_var; // outputs local variable, not class variable
}
}
$myobj = new ExampleClass();
$myobj->classFuncTwo();
echo ExampleClass::$static_var;
$myobj->classFuncOne(); // fatal error occurs because method is private
?>
产出将是:
40-20-
50
致命错误:从第22行C:\xampp\htdocs\scope.php中的上下文“”调用私有方法ExampleClass::classFuncOne()
需要注意的一点是:PHP没有变量初始化,尽管变量可以说是设置的,也可以说是未设置的。设置变量时,已为其赋值。您可以使用
unset
删除变量及其值。not set变量相当于false,如果在输出所有错误时使用它,您将看到一个E_NOTICE错误。在PHP中有静态、本地、私有、公共和受保护的类变量
但是,在PHP OOP实现中,情况有点不同:将帮助您:
属性或方法的可见性
可以通过在
以公众为关键词的宣言,
受保护的或私人的
此外,请看一下
您将能够在此处阅读更多有关正常变量及其范围的信息:
大多数情况下,所有PHP变量都只有一个作用域
我希望链接能够比我更好地向您解释;-) 是的,PHP5包括学生和课堂
class MyClass
{
public static $my_static = 'foo';
public $public = 'Public';
protected $protected = 'Protected';
private $private = 'Private';
public function staticValue() {
return self::$my_static;
}
function printHello()
{
echo $this->public;
echo $this->protected;
echo $this->private;
}
}
$obj = new MyClass();
echo $obj->public; // Works
echo $obj->protected; // Fatal Error
echo $obj->private; // Fatal Error
$obj->printHello(); // Shows Public, Protected and Private
+静态、私有、公共、类应用于C++而不是C。