Bagaimanakah skop pembolehubah fungsi PHP ditentukan?

WBOY
Lepaskan: 2024-04-16 16:51:02
asal
457 orang telah melayarinya

Skop pembolehubah dalam PHP dibahagikan kepada tempatan (dalam fungsi), global (boleh diakses dalam program) dan skop kelas (boleh diakses dalam contoh kelas). Kata kunci global boleh mengisytiharkan pembolehubah tempatan sebagai pembolehubah global, dan kata kunci statik boleh mengisytiharkan pembolehubah tempatan sebagai pembolehubah statik, mengekalkan nilainya di antara panggilan fungsi.

PHP 函数的变量作用域是如何确定的?

Penentuan skop pembolehubah dalam PHP

Dalam PHP, skop pembolehubah merujuk kepada bahagian kod yang boleh mengakses dan mengubah suai pembolehubah. Memahami skop pembolehubah adalah penting untuk menulis kod PHP yang mantap dan boleh diselenggara.

Peraturan skop untuk PHP

  • Skop setempat: Pembolehubah yang ditakrifkan di dalam fungsi atau kaedah hanya boleh diakses di dalam fungsi atau kaedah tersebut.
  • Skop global: Pembolehubah yang ditakrifkan dalam skop global boleh diakses di mana-mana dalam program.
  • Skop kelas: Pemalar dan pembolehubah statik ditakrifkan dalam kelas tetapi tidak dalam fungsi atau kaedah mempunyai skop kelas dan boleh diakses dalam keadaan kelas.

Kata kunci yang mempengaruhi skop pembolehubah

  • global: Istiharkan pembolehubah tempatan sebagai pembolehubah global, membenarkan pembolehubah global diakses di dalam fungsi.
  • statik: Isytiharkan pembolehubah tempatan sebagai pembolehubah statik supaya ia mengekalkan nilainya di antara panggilan fungsi.
// 全局变量
$global_var = 10;

function test() {
    // 局部变量
    $local_var = 5;

    // 使用全局变量,需要使用 global 关键字
    global $global_var;

    // 使用静态变量
    static $static_var = 0;
    
    $static_var++;
    
    // 输出变量值
    echo "局部变量:$local_var <br>";
    echo "全局变量:$global_var <br>";
    echo "静态变量:$static_var <br>";
}

test(); // 输出: 局部变量:5 <br> 全局变量:10 <br> 静态变量:1
test(); // 输出: 局部变量:5 <br> 全局变量:10 <br> 静态变量:2
Salin selepas log masuk

Kes praktikal

Andaikata ada kelas shopping cart yang digunakan untuk menguruskan barang dalam shopping. Kelas ini mengandungi pembolehubah peribadi bernama $items yang menyimpan senarai item dalam troli beli-belah. $items 的私有变量,存储购物车中的商品列表。

class Cart {
    private $items = [];

    public function addItem($item) {
        $this->items[] = $item;
    }

    public function getItems() {
        return $this->items;
    }
}

// 创建购物车实例
$cart = new Cart;

// 添加商品
$cart->addItem('商品 1');
$cart->addItem('商品 2');

// 获取购物车中的商品
$items = $cart->getItems();

// 输出购物车中商品, 使用循环遍历或打印数组
foreach ($items as $item) {
    echo $item . '<br>';
}
Salin selepas log masuk

在此示例中,$items 变量具有私有作用域,只能在 Cartrrreee

Dalam contoh ini, pembolehubah $items mempunyai skop peribadi dan hanya boleh diakses dan diubah suai dalam kaedah contoh kelas Cart. Pembolehubah ini tersedia sepanjang kitaran hayat contoh kelas, merealisasikan pengkapsulan dan pengurusan item dalam troli beli-belah. 🎜

Atas ialah kandungan terperinci Bagaimanakah skop pembolehubah fungsi PHP ditentukan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan