>  기사  >  백엔드 개발  >  PHP의 변수 및 상수 분석 예

PHP의 변수 및 상수 분석 예

小云云
小云云원래의
2018-03-15 13:09:051514검색

PHP에는 정적, 매개변수, 전역, 로컬의 네 가지 변수 범위가 있습니다.

1. 전역 변수

모든 함수 외부에서 정의된 변수는 전역 범위를 가지며 함수 내부에서 선언된 변수는 로컬 변수 내부에서만 액세스할 수 있습니다. 기능. 함수에서 전역 변수를 사용하려면 global 키워드를 사용하십시오.

 <?php
$a = 1;
$b = 2;
function Sum()
{
    global $a, $b;
    $b = $a + $b;
}
Sum();
?>

전역 범위의 변수에 액세스하는 두 번째 방법은 특별한 PHP 사용자 정의 $GLOBALS 배열을 사용하는 것입니다. 이전 예는 다음과 같이 작성할 수 있습니다.

 <?php
$a = 1;
$b = 2;
function Sum()
{
    $GLOBALS["b"] = $GLOBALS["a"] + $GLOBALS["b"];
}
Sum();
?>

2. 정적 변수

변수 범위의 또 다른 중요한 기능은 정적 변수(정적 변수)입니다. 정적 변수는 로컬 함수 범위에만 존재하지만 프로그램 실행이 이 범위를 벗어나도 해당 값은 손실되지 않습니다.

함수에 정의된 정적 변수는 함수 외부에서 호출할 수 없습니다.

정적 변수는 재귀 함수를 처리하는 방법도 제공합니다. 재귀 함수는 자기 자신을 호출하는 함수입니다. 재귀 함수를 작성할 때는 무기한 재귀될 수 있으므로 주의하세요. 재귀를 종료하는 적절한 방법이 있는지 확인해야 합니다.

 <?php
function Test()
{
    static $count = 0;
    $count++;
    echo $count;
    if ($count < 10) {
        Test ();
    }
    $count--;
}
?>

3. 지역 변수

매개변수는 호출 코드를 통해 함수에 값을 전달하는 지역 변수입니다.

4. 변수 변수

때로는 변수 변수 이름을 사용하는 것이 매우 편리합니다. 즉, 변수의 변수명을 동적으로 설정하여 사용할 수 있다. 일반 변수는 선언으로 설정됩니다. 예:

<span style="color:#000000;"><span style="color:#0000BB;">9f658e506a1eb22b47c82c68cc37cf49</span></span>

一个可变变量获取了一个普通变量的值作为这个可变变量的变量名。在上面的例子中hello 使用了两个美元符号($)以后,就可以作为一个可变变量的变量了。例如:

<span style="color:#000000;"><span style="color:#0000BB;">0866218afc3127d68012a3c0b8648436</span></span>

这时,两个变量都被定义了:$a 的内容是“hello”并且$hello 的内容是“world”。因此,可以表述为:

<span style="color:#000000;"><span style="color:#0000BB;">f5768488027307d1b3956c7da0cb8c3a</span></span>

以下写法更准确并且会输出同样的结果:

"안녕하세요";?>
<span style="color:#000000;"><span style="color:#0000BB;">a4b97cc2c1c24866c46df264f35790dd</span></span>=
🎜🎜🎜🎜🎜🎜변수변수는 일반변수의 값을 변수변수의 변수명으로 구합니다. 위의 예에서 🎜hello🎜는 달러 기호($)를 두 개 사용하며, 변수 변수로 사용할 수 있습니다. 예: 🎜🎜🎜🎜🎜<span style="color:#000000;"><span style="color:#0000BB;">000f79d8fa7080b5016d95c63a33af7c🎜🎜</span></span>🎜🎜🎜🎜🎜이때 두 변수가 모두 정의됩니다. 🎜 $a🎜의 콘텐츠는 "hello"이고 🎜$hello🎜의 콘텐츠는 "world"입니다. 따라서 다음과 같이 표현할 수 있습니다: 🎜🎜🎜🎜🎜<span style="color:#000000;"><span style="color:#0000BB;">2bd2122ff6db71c90bf5464ef0fc9ef3🎜🎜</span></span>🎜🎜🎜🎜

它们都会输出:hello world

要将可变变量用于数组,必须解决一个模棱两可的问题。这就是当写下$$a[1]时,解析器需要知道是想要$a[1]作为一个变量呢,还是想要$$a作为一个变量并取出该变量中索引为 [1]的值。解决此问题的语法是,对第一种情况用${$a[1]},对第二种情况用${$a}[1]

注意可变变量不能用于 PHP 的超全局变量数组。这意味着不能这样用:${$_GET}

5. 常量

<?php
define("GREETING", "Welcome to W3School.com.cn!");
echo GREETING;
?>
  • 常量前面没有美元符号($);

  • 常量默认为大小写敏感。按照惯例常量标识符总是大写的。

  • 常量只能用 define() 函数定义,而不能通过赋值语句;

  • 和 superglobals 一样,常量的范围是全局的。不用管作用域就可以在脚本的任何地方定义和访问常量;

  • 常量一旦定义就不能被重新定义或者取消定义;

  • 常量的值只能是标量数据(booleanintegerfloat 和 string)或 null。

1. 自定义常量

<?php
define("CONSTANT", "Hello world.");
echo CONSTANT; // outputs "Hello world."
echo Constant; // outputs "Constant" and issues a notice.
?>

2. 类常量

    可以在类中定义常量,常量的值必须是一个定值,不能是变量,类属性或其它操作(如函数调用)的结果。但在PHP5.6中,对常量进行了增强,允许常量计算,允许使用包    含数字、字符串字面值和常量的表达式结果来定义const常量。常量的值也可以为一个数组,但不能是变量。

    定义类常量只能使用const关键字

    class MyClass {
        const AB = 2;
        public function showConstant(){
            echo self::AB;
        }
    }

 const 与 define 的区别?

1、const用于类成员变量的定义,一经定义,不可修改。Define不可以用于类成员变量的定义,可用于全局常量。

2、Const可在类中使用,define不能

3、Const不能再条件语句中定义常量

4、const采用普通的常量名称,define可以采用表达式作为名称

相关推荐:

php中变量的命名规则具体详解

浅谈php中变量的数据类型判断函数实例代码

php中变量及部分适用方法_PHP教程

위 내용은 PHP의 변수 및 상수 분석 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.