PHP學習(三)

blazar     實驗樓

  • 全局變量

    全局變量通常使用關鍵字 global 來聲明

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

    結果輸出 3。在函數中聲明瞭全局變量 $a 和 $b 之後,對任一變量的所有引用都會指向其全局版本。對於一個函數能夠聲明的全局變量的最大個數,PHP 沒有限制。

1552867086571

在全局範圍內訪問變量的第二個辦法,是用特殊的 PHP 自定義 $GLOBALS 數組。前面的例子可以寫成:

<?php

$a = 1;
$b = 2;

function sum()
{
    $GLOBALS['b'] = $GLOBALS['a'] + $GLOBALS['b'];
}

sum();
echo $b;

通過傳參實現了函數調用外部變量,接下來使用 global 關鍵字

編輯 /home/shiyanlou/variable.php

<?php

$hi = 'Hi';
$hello = 'Hello';

function sayHi()
{
    global $hi;
    echo $hi;
}

function sayHello($hello)
{
    echo $hello;
}

sayHi();
sayHello($hello);

執行 php variable.php

在這裏插入圖片描述

  • 變量解析

aa 與aa 的解析,是從最右邊開始解析。最後生成前一個值爲名稱的變量。
如:

<?php

$a = 'hello';
$$a = 'world';

var_dump($a,$hello);

結果輸出

string(5) "hello"
string(5) "world"

上例中動態設置了一個變量 $hello,通常多個 $ 會依次從最後邊開始解析,最後生成 $ 前一個值爲名稱的變量。

編輯 /home/shiyanlou/test.php

<?php

$a = 'b';
$b = 'c';
$c = 'd';

$$$$a = 'bcd';

var_dump($d);

執行 php test.php
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章